Es posible que no tenga uniones en una consulta HQL de este tipo. Cita de la documentación de referencia :
Así que supongo que algo como esto debería funcionar:
delete from Feature F where F.id in
(select f2.id from Feature f2 where f2.featuresMetadata.stateGeoId = :stateGeoId)