I had a similar situation recently with a property in Mexico. They charged me at a conversion rate that they knew was not going to get converted into USD at the same conversion rate. I asked about it before check out, and they assured me that it would convert at the specified rate.
I complained about it when I saw the charge on my CC, and they blamed it on their own Marriott credit card.
The options as I see them are to not stay at JW Marriott properties that charge in non-USD denominations, or accept the fact that they are going to skim an extra $50-$60 off an already expensive stay by playing with currency fluctuations and saying "it's out of our control".
I'd imagine that most people staying at a 5-Diamond property aren't even going to notice that amount of money. Still doesn't make it ethical. And you can be sure that they'd find a way to collect if the currency fluctuation wasn't in their favor.