Se um usuário com o endereço user+123@gmail.com tentar alterar seu endereço para user@gmail.com, ele receberá o link de verificação, mas ao tentar aceitá-lo, receberá a mensagem “email já em uso”.
Parece que deveria fazer algo como:
negar a alteração para o outro endereço
aceitar o endereço sem verificação (é o mesmo endereço)
substituir o endereço antes de verificar se ele já existe
Isso. Se o usuário tentar alterar o e-mail e os endereços de e-mail normalizados forem os mesmos, ele deverá simplesmente alterá-lo sem nenhum processo adicional.