You are forgetting that the alternative to a passkey is a password.
Passwords can be stored in a password manager, where they have the same protections as a passkey. Or they can be stored in your brain, which will result in you either re-using them or forgetting them.
Therefore passkeys are the better choice, because they avoid things like stupid per-site limits on password complexity, have more bits of entropy than most websites allow in a password, and are overall a better experience for the user, while being at a minimum equally secure as passwords.
And if you don't want too allow them to be exported, get a hardware security key like a Yubikey and store them on there. Or just don't authorize export from your phone (it needs you enter your unlock password/biometric, apps can't just take the data).
Of course, you can still use 2FA with a passkey. You can even use a password as one of your authentication methods.