I have experienced a little issue with paying online with different currencies. (the closest related post would be: Default payment currency)
When I want to make a payment in USD, noting that I have the available balance in USD on my account, Revolut (I assume) converts GBP to USD to make the payment.
How can I ensure that when I have the available balance in a currency, revolut will not convert from another currency to make the payment
Basically, you need to make sure that you have enough funds in the currency of the transaction. If you have enough USD it will deduct it from your USD balance. If not, it will go to your base currency and if there arent enough funds either it will fall back to the currency with the highest balance.