@whitequark Passkeys/WebAuthn does work on external FIDO2 compliant keys with a PIN code set. Firefox 114 explicitly added support for this on Linux (https://www.mozilla.org/en-US/firefox/114.0/releasenotes/).
I think the issue is that there is no standard place yet to store passkeys besides that. On Windows, Windows Hello is used while iCloud Keychain is used on macOS. There are techically some external solutions like Bitwarden or 1Password, although I’m not sure how well they work yet.