Non riesco a riprodurre il problema con un tag da solo.
Ho commesso un piccolo errore nella mia OP:
Tag.find_by_name non fa distinzione tra maiuscole e minuscole (bene) e Tag.find_by(name: ) fa distinzione tra maiuscole e minuscole (male).
Questo perché David ha già risolto il problema per i tag 7 anni fa sovrascrivendo il metodo find_by_name.
Per TagGroup, quella correzione non è mai stata applicata.