Potresti non avere join in una tale query HQL. Citazione dalla documentazione di riferimento :
Quindi immagino che qualcosa del genere dovrebbe funzionare:
delete from Feature F where F.id in
(select f2.id from Feature f2 where f2.featuresMetadata.stateGeoId = :stateGeoId)