U2F would be a much superior replacement for any idea in which the user has to enter anything at all. It’s better to have the security hardware, such as a U2F key, authenticate the authenticator using cryptography, because that process cannot be man-in-the-middle’d.
I agree that U2F/webauthn/FIDO2 is superior (in terms of security and in most cases convenience) in basically every way. This is an alternative approach that is less secure than webauthn but a bit more secure than regular number matching or enter this code 2fa.