I think you can initialize a random key for the user, and if they want to export database, you can let them set their own password (or PIN) to protect it.
The NIP-04 encryption is used to encrypt messages sent to the push server. This should eventually be updated to NIP-44 encryption, but the migration hasn’t started yet :(
443 is an MLS KeyPackage event, and by default generated & uploaded to the relay.