Miałem ten sam problem. Wygląda na to, że dostęp do mapy przez ref (bez VALUE()) już daje wartość wpisu mapy, tj. następny JPQL powinien zostać przekształcony na poprawny SQL:
select r from Relation r join r.langMap m where ( KEY(m) = :locale and m = :value )