It may be the Android version---I was testing in 13---it might also be the version of Google Play Services. I just tried on Android 9 with GPS 23.31.16 and I was not prompted to register a passkey.
The conditions you list in comment 4 check that the browser is capable of doing WebAuthn with an authenticator that is built into the device (as opposed to, say, a USB key). That's not quite "Passkey support".
WebAuthn PR #1901 proposes an
isPasskeyPlatformAuthenticatorAvailable() function. You'll eventually want to use this, but it's not implemented anywhere yet. The PR mentions that "The current developer guidance to relying parties for whether they can offer passkeys to users is to call isUserVerifyingPlatformAuthenticatorAvailable() and isConditionalMediationAvailable()." It goes on to mention some deficiencies with this approach. But the upshot is that, for now, you should be checking
isConditionalMediationAvailable() as well.
FWIW we haven't implemented
isConditionalMediationAvailable() yet, so this will definitely prevent Firefox users from being prompted to create a passkey.