There appears to be a bug in ArcGIS online:
I have two shapefiles:
1) point shapefile with numerical attribute
2) Some census tracts, with population
If I display Shape1 as points "Location (single symbol)" or "Counts and Amounts (size)" my order is fine. The shape appears above my Tracts.
However, if I select to display as a Heat Map, it works, but the layer always appears in the wrong order. It appears beneath my Tracts, despite the fact that I have ordered my layers correctly. Changing the transparency of the Heat Map doesn't fix this.