Currently in Egypt and they just asked us to pay in USD cash for an added activity but, not being American, we don’t have USD. We have the local currency and the ability to get that out at ATMs, but no way to access foreign currency. So annoying but they accepted local in the end.
I don’t think its too uncommon for tourist areas to try to pressure tourists to pay with foreign currency that has a favorable exchange rate to the local currency. That way they can make extra money by quoting a figure in USD (or other currency) that they know they can exchange for much more than the regular cost in local currency. If pressured with “I don’t have USD, so its either local currency or I go elsewhere” they’ll usually give in and accept local currency.
It’s funny that I see people saying that they do this to make ekstra money by giving bad exchange rates, while my personal experience in Burma/Myanmar (maaany years ago) was that you got a better price in USD, because the local currency was less stable. So people would charge more if you payed in local, because of the increased risk in holding local currency vs. USD.