The fix is to use literal instead of null:
criteriaQuery.set(root.get(MyEntity_.tag), criteriaBuilder.nullLiteral<Tag>(Tag::class.java))