Did some testing on the ambulance, the stretchers need to validate as "cargo" or "gunner" positions when queried with
<AmbulanceObject> emptyPositions "cargo" or <AmbulanceObject> emptyPositions "gunner"
This is how ACE decides whether the patient can be loaded and to which seat it should be put. Priority is cargo over gunner which is what I confirmed with the jackels.
Helicopter gunner positions may resolve to turrets but not "cargo" or "gunner"
Currently if you query cargo and gunner positions you only find 1 cargo position which is the middle seat.
If you query allturrets not including FFV you get [[0],[1],[2],[3],[4]] which is the front passenger [0] (commander turret) and 4 stretchers [1] -> [4] (other turrets?) (driver [-1] isn't included)
All these seats aren't cargo seats but non gunner turrets which is why they don't validate for ACE loading and the FFV seats on a jackel do.
Hope that helps...