You pay in THB in Thailand but your card settles in CNY โ THB โ CNY, conversion needed โ conversion fee. If your card were a THB account, no conversion and no fee. Core rule: the fee applies when transaction currency โ card settlement currency.
On Visa/Mastercard rails, many non-USD currencies are first converted to USD, then USD to your home currency โ two conversions, and the ~1%โ1.5% in between is the conversion fee. UnionPay converts the local currency straight to your home currency, skipping a step and usually waiving it.
They avoid the conversion fee, but not DCC. An "all-currency" card converts the local currency directly to your home currency (no USD middle step), so it skips the ~1.5% double-conversion fee โ that's its selling point. But DCC is separate: it's triggered when you pick "pay in home currency" at checkout, and the merchant adds 3%โ7% regardless of your card. So even with an all-currency card you must still choose local currency, or you'll be DCC'd anyway. The foreign transaction fee depends on the specific card (some all-currency cards waive it, some don't).
โ See how much UnionPay saves
Related: what is DCC ยท find your card's currency.