You need to have sufficient funds in one single balance in order to make a transaction. If you don’t have enough funds in the balance of the local currency, it will default to your next largest balance and so on.
Take this for example: If I have 79€ and 100£ in my revolut account and I want to make a payment of 80€ on weekend. If revolut can debit my 79€ first, I will pay currency exchange fee for only 1€ left. Otherwise I need to pay the exchange fee for the whole 80€.
I completely understand your point, however, the payment will not go through unless you have sufficient balance in one wallet. Unfortunately, payments in two currencies are not support, at least for now.
This should probably be how it works. No doubt what sounds simplistic enough an idea is very complicated to implement however, this helpful approach to putting the user experience first would definitely be a big win