> It's one of those "worst of both world" cases
It's also one of those cases where "perfect is the enemy of good enough", and also very easy to solve, offer a download/upload button that offers you to save the key, or upload a arbitrary one. Now every issue you mention disappears, and it's maybe ~50 lines of code...
And yes, loosing keys can mean you lose access. People who used 2FA are well aware of this problem, and yes it requires diligence. Also people who maintain their own cryptocurrency wallets seems to be able to handle this too, so not like it's completely impossible, just infeasible for the average Joe.
Well-known 2FA-using services (Google, Paypal, Github) etc.. offer some way to recover your account, so losing your 2FA device does not mean you lose all access.
Pretty sure that the only people who use un-recoverable private keys are crypto-wallet users, and even they regularly lose access, despite having strong monetary incentive to keep backups.
Now of course it's all open source, and authors can implement whatever they want, including things like: "It's your own fault that you did not do that backup procedure correctly, the button was _right there_. Serves you right that you have lost your account, maybe you did not deserve it in the first place." But that may be no the best approach if you want to create something that people actually use...