Con la ayuda del comentario de Feras y algunas manipulaciones:
SELECT
u.user_id,
u.user_name,
g.user_group_id,
g.group_name
FROM user u
LEFT JOIN user_group g on JSON_CONTAINS(u.user_groups, CAST(g.user_group_id as JSON), '$')
Esto parece funcionar, avíseme si hay una mejor manera.