USD/EUR or local currency card when staying in other country?

Let’s say, I have 3 cards from Malaysia: in Ringits, USD and EUR. And I’m staying in any other country, say, Vietnam, for 6 months. And suppose, I can’t open a bank account in Vietnam. Instead of Vietnam it can be any other country - Zimbabe, Brazil, etc…

Which scenario will serve me better – will have less fees?

  1. Tranferwise → Ringit account/card. Spend money in Viietnam from the Ringit card.
    But, there’ll be 2 conversions each time I pay in a shop: Ringit- > USD → Dong

  2. Tranferwise → Ringit account/card. Convert it to USD or EUR via internet banking and transfer internally to my USD card.
    But, the exchange rate of banks for such internal conversion – via internet banking – is isually bad.

  3. Tranferwise → USD or EUR account/card.
    But, Tranferwise will have to use SWIFT which will result in big fees.

  4. Optional – withdrawing cash in Vietnam and paying everywhere by cash. Whether it be from a Ringit or USD card. But, they’ll be a) fees of my Malaysian bank b) losses in conversion

Note, my question is only about these 3 or 4 scenarious. It’s not about wheather or not I should get n-26 or payoneer cards.