The issue with onlykey is the static key placement.
Trezor for example randomizes key positions, so even if someone gets the key, they won't be able to guess the PIN based on greasemarks and such.
The trezor looks cool, but it's a bit bulky to put on a key ring. I wouldn't want to carry it around as my second factor.
The benefit of external factors, like a fingerprint reader, like an external pin input is that a compromised computer doesn't get the something you know.
It's a question of what your privacy/security model is.
I currently use Yubikey + Bitwarden with a strong main password.
If I had to be paranoid, I'd sacrifice convenience for security, and carry a Trezor around.