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.
Fidesmo is working on a workaround. Basically the issue is apple iPhone… they limit an NFC session to a very short amount of time. This means large data transfers will time out. They have tried to break deployment up into smaller chunks but some chunks can ot be split.
Basically this is an Apple problem. The solution may just be to borrow and Android phone to do deployment.