How do you avoid roaming charges completely?
Three switches before takeoff: install your travel eSIM at home, turn data roaming OFF on your home SIM (keep the SIM itself on for texts), and set the eSIM as your data line. Add downloaded offline maps and you cannot be surprised by a bill.
Bill shock has one cause: your phone quietly using the home SIM for data abroad. The fix is mechanical, not clever, and takes two minutes at the gate. In your SIM settings, set the travel eSIM as your mobile data line, then explicitly disable data roaming on your home SIM. Leave the home SIM enabled for calls and texts so banking codes still arrive; received texts cost nothing in most cases, and you simply do not answer calls you do not want to pay for.
The traps that remain are small and avoidable. Some phones allow "data switching" or "data fallback" to the other SIM when the primary is weak; turn that off, it exists to betray you. Voicemail pickups abroad can bill as roaming calls, so disable voicemail or warn yourself not to dial it. And cruise ships and planes run satellite networks that count as premium roaming even with an eSIM; airplane mode plus ship Wi-Fi is the rule at sea unless you bought a cruise-specific plan.
Do the install-and-test at home (activate per provider instructions), download offline maps and translation packs on Wi-Fi, and the worst-case scenario shrinks from a scary bill to simply buying another gigabyte in an app.