Se o usuário tiver chaves de segurança, elas não são excluídas, então o usuário ainda não consegue fazer login.
A menos que UserSecondFactor esteja quebrado de alguma forma, o que parece improvável, as chaves de segurança também precisam ser excluídas, algo como isto:
Se fosse apenas uma linha, eu já teria feito, mas realmente precisarei criar um ou dois testes, o que é mais intimidador (e 4 o trabalho!)
Mas talvez eu possa ser um garotão.
Apenas um teste que cria uma chave 2fa e depois garante que ela seja removida? E acho que há café para criar uma chave fictícia em algum lugar no código 2fa?