Luckily Apex will have the ability to store quite a large number of keys (>100) if you allow enough storage space and don’t fill it up with other stuff. Each resident key will take up about 250 bytes more or less, so you can do some basic math on that.
The fido2 applet code also does not define slots but instead parses available memory. If no memory is available it returns CTAP error KEY_STORE_FULL.