Yo tuve el mismo problema. Parece que acceder al mapa por referencia (sin VALOR()) ya le da un valor de entrada del mapa, es decir, el siguiente JPQL debe transformarse en un SQL válido:
select r from Relation r join r.langMap m where ( KEY(m) = :locale and m = :value )