Some snippets from the FAQ [1].
> The public key is stored on the website and the private key is stored on your device or in your passkey provider, e.g. your Bitwarden Vault.
> Passkeys are often able to sync across your devices, however not all platforms support this yet.
So it sounds like it's not stored in hardware. It'll be interesting to see how it works if solutions that use a TPM or similar start to emerge. I have nearly 1000 passwords and many of them are shared with colleagues, parents, siblings, etc.. I can't even imagine a way you could make that work if the private key is owned by a TPM (aka a hardware bound key) and needs to be enrolled somehow prior to becoming usable.
What happens if I have 500 passkeys backed by keys in a TPM and I get a new computer?
1. https://bitwarden.com/resources/passkeys-faq/