This appears to be a variant of the issue reported as HHH-5792. I updated the test case for that issue to test for the case where the criteria query uses strings rather than the metamodel. The testcase demonstrates that the criteria queries work correctly when using the metamodel but fail when using string property names.
The unit test fails with the exception:
java.lang.ClassCastException: org.hibernate.jpa.internal.metamodel.SingularAttributeImpl cannot be cast to javax.persistence.metamodel.ManagedType