For our business we use a number of different apps and websites but only two of them offer 2FA with a security key. The rest allow for an authenticator app. In this case, it seems just using an authenticator app would be best for consistency and without needing to purchase keys.
Of course, installing authenticatior apps on each device would be a no-no since it wouldn't technically be 2FA. Then do we use each employee's personal phones? Not sure how to proceed.
Ask whether people are happy using the generator app on their phone, and provide phones to anyone who isn't comfortable with using their own device for that.
You'll probably end up with two or three authenticator apps, since some sites want to have their own app instead of using TOTP.
To pile on this, you can point people to public Auth apps that aren't linked to your workplace. This might reduce suspicions about you installing work apps on their phones.
I'm not too happy with this solution. Not extremely bad, but technically, both password and the second factor are stored in the same place, which makes this similar in security to just using a long, random password with a password manager.
Ask whether people are happy using the generator app on their phone, and provide phones to anyone who isn't comfortable with using their own device for that.
Unless you are particularly lucky, you'll probably find that two or three apps end up being needed because some websites want their own authenticator app instead of the more common TOTP ones.
The ideal solution is to have one identity provider and then use Single Sign-On (SSO) to authenticate your users to all of their other apps. All of the big identity providers (Microsoft, Google, Okta, etc) support security keys.
I recognize that it might not be feasible to use SSO for all of your apps as a small business; a lot of SaaS platforms unfortunately charge extra for SSO. That being said my advice would be use SSO whenever possible for your apps and include SSO availability in your decision-making process for purchasing new software.
For those apps that do not support SSO, my advice would be to either compensate employees for using their personal devices for work or give them corporate devices that are only used for work things.
I would just give them a Yubikey or something similar and then they don't need to use a phone to store the TOTP codes (the app for that purely accesses the data on the key, there are desktop applications for that too) and for webauthn you want to connect it directly to the work device anyway.
The big advantage is that you only need to authenticate once and don't need another 2FA app for every service you need to access. It gets quite annoying to type a TOTP code five times a day.