Prior to 12.0 (11.7 and so on) it was your responsibility to pick a proper codepage for the engine. Default had the meaning of “use the codepage of the OS” which in my case would have been ISO Latin-1 (Western Europe + US). So I would have lost all the Chinese chars.
With 12.0 onwards default has the meaning of “engine should pick the proper codepage”. If all your source/target/lookup/transforms are ASCII only, why should there be a transcoder? Would cost performance only, the engine will run with ASCII codepage as well. When your source is Cyrillic and your target is French, neither the one or the other codepage can be used as each has unique characters the other does not support. So the engine will need to find the next best codepage which is a superset of both codepages - it will use Unicode.
And then some DQ transforms require Unicode, then the engine will be switched to the next best superset character set and for Unicode that’s Unicode.