Billed from CX in Lantau. Did you get a line detail like this from Citi?
xx/06/2012 CATHAY PACIFIC TICKETING HONG KONG HK HKD 712.41 DR USD 90.00 DR
(This is my MPO redemption list clearing fee, which I must pay in USD despite being a HK-based MPO member with a HKD credit card. When I paid with my CX HK Amex, it used to even say
Lantau HK specifically).
Assuming this is what CX did to you (at the backend at least), yes the foreign transaction fee will apply.
CX's being a skinflint in terms of cost but also perhaps trying to avoid compliance issues with offshore USD processing. And Citi's trying to claw back the miles by whatever underhanded way they have (how do you know a US$ transaction wlil be processed onshore or offshore?). With our cards here, we have foreign transaction fees for Mastercard but not Visa or Amex. Using MC to pay for HK$ overseas only incurs 0.95%, but we get out of it by using Visa which is foreign transaction-fee free.
Not much you can do about it except use a card with no foreign transaction fee next time.