In general, with beancount, the way you want to structure accounts depends on how you want to eventually query data from them. The bad part is that you often don't know that for months/years after using beancount. The good part is that restructuring your beancount file is (relatively) painless if you decide you want things another way.
Anyway, I just have Expenses:Restaurants. I have all my expenses in three currencies. I've never seen any need to have my US spending, my Australian spending, my Vietnamese spending ... oh and what about when I'm only holiday and spend money in Hong Kong Dollars, Singapore Dollars, Euros, and Thai Baht? Make separate sub-accounts for all of those?
What's your use case for separating them into per-currency sub-accounts? Why not just write a query of "select * where account ~ Expenses:Restaurants and currency = USD" if, for some reason, you only wanted the USD expenses?