The closest thing to 2fa you can have with a non-custodial wallet is a 2-of-2 or 2-of-3 multisignature wallet and you need to keep each signing key on a different device
It is worth mentioning that a 2FA setup with a 2of2 multi-sig scheme is not a good option because of the risk it has. You are basically sharing the custody of your own money with a third party that if they refuse to sign transactions (eg. they could demand KYC first!) you will not be able to spend your money any more.