OK, I found a solution to this that works best for me (full disclosure here: my friend built one of the tools in the stack below, and I made this YouTube video, but the reason my friend built the tool, SMS to Slack, was because I described this exact problem to him, and we tried using Twilio, and then e-sims, to solve, and then realized it was worthwhile to build this):
Here's a video of the solution: https://youtu.be/I1RlBAorJIc?si=Tac9nh5Pbmyk85X3&t=587
The tl;dr though is:
I setup a PRIVATE slack channel to receive 2fa codes (so yes, assumes you have Slack setup, if you don't have Slack, or don't want to get Slack, this won't work, so having it just for this purpose is an extra $9/month, which would make this whole solution $20 a month)
Got a phone number on SMS to Slack (smstoslack.com). Installed the app, connected the phone number to the slack channel in the above step.
Update my phone number on banking, SaaS tools, etc to use that phone number.
So now as long as I have internet connection, I can receive 2FA codes anywhere in the world. Cost is $10 per month + $0.10 a text and I never have to dick around with esims or issues if I lose my device. I also don't have to remember to recharge a number, worrying about accidental roaming, or be in the USA country with the number on for it to not get cancelled (which is what happened to my Google Fi, btw).
This setup also works for other use cases of being able to send / receive sms messages from Slack, but that's outside what the OP was asking about.
Hope this helps.