Currently projecting an unstored fields works with Elasticsearch, because we use the "_source" for extracting the results anyway. So the field storage is never used, actually. See HSEARCH-2358 Pull Request Sent for details.
Anyway, I think we should enforce storing those fields, be it only to shield us from a future issue with the current retrieval method, that would force us to do it the "right" way.
A test case is provided in org.hibernate.search.test.query.ProjectionQueryTest: projectingUnstoredField. The test was disabled as part of HSEARCH-2406 Closed , but it should be re-enabled when this issue (HSEARCH-2423) has been fixed.