You know, I completely agree with what you said. I’ve gone through exactly what you experienced I only had 2FA enabled, and then my desktop suddenly got corrupted. Since I hadn’t made a backup, I was left with no choice but to accept it. To be honest, that was a real 'lesson learned' for me.
That’s why this time around, if there are other security measures available besides 2FA, I really make sure to add them. Especially when we're leaving funds in an account, it’s vital that we have more than just one way to regain access.
Yes, I forgot to mention that both the key that generates the codes every 30s and the hexadecimal backup of the key were in the same database.

Another good idea is to always have 2FA in 2 different devices.
For example,I got all of my 2FA keys in my phone, but for the most important ones I also sync in my app in the desktop computer.
This way I won't lose money if I lose a device or got some problems with an APP
Excellent idea bitmover. I have two phones and a tablet that i'm using less and less, but I still use them.. they could very well be configured to serve as a second device to generate 2FA codes.
Many people complain about using the (i)cloud service as a backup, but I cannot express my gratitude enough for how much it simplified and facilitated the transfer to other devices. Most apps and accounts are migrated very easily, including the authenticator.
Now I currently have the option of three different devices

When you need to migrate your 2FA backup keys to another App (which is what I did: google auth, iCloud Passwords > Keepass and similar), you'll see how painful it is, unless you have a few accounts with 2FA configured that can be migrated in minutes, or you unlink 2FA from your accounts one by one and then configure it with a new 2FA key. Neither google auth nor icloud Passwords allow this instant migration (unless it's between devices of the same brand or app). But I don't like the idea of being stuck with these apps.
Many people don't know this, but the Keepass password manager can also set up 2FA keys and generate codes every 30s.