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
How do they currently solve this problem for passwords? You could just have the register/create account button lead to a pubkey upload instead of a ‘set password’, no?