In the Netherlands we have a system called DigiD to login into to most government websites like your taxes and city, etc.
When I contracted for the city of Amsterdam I learned they’ve been pushing hard for the DigiD app to two factor authenticate instead of text message, because of contracts Digid charges a lot per text message validation and none for app.
There are also just some things you cannot realistically do in the browser (or over SMS) without having to ship specialised hardware to 18 million people, like reading the NFC chip of your passport. This is needed for DigiD Substantieel and Hoog, which are mandated by the eIDAS regulations.
[1] https://github.com/MinBZK/woo-besluit-broncode-digid-app/
For example with bankID (sweden, and I think the norway version does the same) when you need to authenticate you either scan a QR code with the bankID app or select "on the same device" and then the website will interact with the bankID API to auth.
Either way you don't need your own app to get proper auth working with this sort of government login.
(With bankID the app devs still pay a per-auth price, but that is not due to any technical reason, just because its made by a profit-driven semi-monopoly)
I would also use Yubikey for banking, but I am scared as f. what happens if I lose it while traveling abroad.
Otherwise, yeah... Passkey it is
I like how we went full-circle to Passkeys which are basically a "remember me FOREVER" button, implemented kinda like SSH keys. Should call it that too, and also ditch the like 4 prompts it gives you first.
It is also far less likely to be phished, and there is nothing transmitted.
TOTP is the modern WPA2 of security - it's just not good enough when better alternatives exist.
Here's a better idea: just use openssh or at least openssh's key formats since none of the big companies can manage anything better.
I even have a personal anecdote. My wife "lost" her phone in Iceland. I make her login to find-my-phone with her google account, and 2fa was needed. Thankfully she had her Yubikey in her keychain (plus, we enrolled each other's key), so she was able to login. Push notification or TOTP/SMS were all not an option.