Это не связано с JPA, попробуйте свой sql в вашей базе данных. Это бы показало вам тот же порядок.
Проверьте тип вашей базы данных на предмет запрета автоматической сортировки;
Oracle
SELECT * FROM table where id IN (3,2,5,1,4) ORDER BY DECODE(id, 3,1,2,2,5,3,1,4)
//you need the *,1,*,2,*,3,*,*
Mysql
select * from table where id IN (3,9,6) order by field(id,3,9,6)
Я не тестировал mysql, но он должен хорошо работать