I recently found out about TLS client authentication via client certificates. It seems like a really secure mechanism for authentication that just doesn't have a standardized UX/API for initial cert exchanging and multiple device registration. I am hesitant to rely on a 3rd party SSO provider to remain available. I would much rather rely on a decentralized technology like the TLS certificate network.
I did use client side certificates for a while. It's a real pain to get the certificate installed, as it is different per OS and browser. And I wouldn't call it 'really secure', I'd say it's just as secure as any other client side secret.
Only if you store the cert in a file, but you can store it on a smartcard (e.g. Yubikey) or a TPM.