I use vaultwarden (selfhosted bitwarden), which stores both passwords and OTP keys on my own server, which I backup regulary. This allows acces to my OTP keys from any device, as long as it’s in my local network or connected to my VPN.
Must say I really like this solution. If one of my devices fail, I have a pretymuch seamless switch to any of my other devices, which are already configured anyways, since it’s also my passwordmanager.
If the server fails, my phone, pc and laptop all still have the keys cached, so I can use those untill I’ve restored a backup.
For the first issue thats not realy true. To access the totp key you still need the actual device with the key, it’s only now split over multiple devices. Like having multiple bank cards for the same account.
For the seccond issue: Thats a good point, I have not found a good solution for that either, unfortunately