I expected this, but I have tested this theory many times, and my credit card issuing bank or even debit card issuing bank offer exchange rates extremely close to the spot rate.
For credit card, I have tried this with Bank of America, Chase, and AmEx. For debit card, I tried with Schwab. And in all cases, I checked the currency exchange rate, and it was very close to the spot rate.
Where you do get hammered is by international merchants, who ask if you want to pay in local currency or USD (if you are American I guess). You should always choose to pay in local currency (meaning the merchant requests the payment in local currency from your card), because your credit card issuing bank will give you a much better currency conversion rate than the merchant will.
If you say you want to pay in USD, then the merchant will calculate a USD price that is much higher than the local currency price.