De hecho, no puedo reproducir el problema solo con una etiqueta.
Cometí un pequeño error en mi OP:
Tag.find_by_name no distingue entre mayúsculas y minúsculas (bueno) y Tag.find_by(name: ) distingue entre mayúsculas y minúsculas (malo).
Esto se debe a que David ya lo arregló para las etiquetas hace 7 años al anular el método find_by_name.
Para TagGroup, esa corrección nunca se aplicó.