Only way I've found around the problem of AGOL not accepting anything but UTC from your non-hosted services is to:
- go to the pop up configuration for the layer in your web map
- Add Attribute expression
- for the expression, pick the function ToLocal in the functions tab, and in the brackets put your time field from the globals tab. eg my time field is Last_Position, so the expression is ToLocal($feature["Last_Position"])
- Edit the name of the expression if you like to something other than Custom
- once you click OK, you'll have access to this new attribute in the fields available to you. configure your pop-up to show this field and you'll get your time converted to your local timezone.
Although this works, I'd like to say that it's been a real pain (you know where) to do this for every time field in every layer (we have an AVL map service. say no more...) so please come up with a solution where AGOL accepts the Data Field Setting in the map service. Pleeeeease!!!