Descobri que, apesar do Outlook sincronizar contatos com o iCloud, os contatos exportados do Outlook não eram corrompidos como os contatos no iCloud.
Depois, excluí todos os contatos do Outlook e do iCloud e esperei que os contatos fossem excluídos do telefone. Em seguida, enviei os contatos exportados do Outlook de volta ao iCloud e esperei que tudo fosse sincronizado. Parece estar bem agora.
Eu apreciaria se alguém pudesse lançar alguma luz sobre o que pode ter acontecido aqui.