Some properties for attribute table fields in ArcGIS Online appear to get stored in strange ways. I believe they would be better stored in the service/layer definition so that the settings do not get lost when moving data around the ArcGIS platform. It would also be nice to have a better interface in ArcGIS Online to modify field properties such as default values (not just having feature templates).
1. If you change a field alias in AGOL this does not make the change in the field's properties in the service/layer definition (it appears to get stored elsewhere). So, if you download the data as a file geodatabase, any aliases set in AGOL are lost (unless you manually text-edit the definition).
2. If you share data in a file geodatabase as a service, it which there are fields with default values set, these settings get put into a feature template in the service/layer definition rather than using the default value property of the field in the service/layer definition. It is also not possible to edit the default value property manually in the service/layer definition. If you download the data as a file geodatabase all default values for your fields are lost, whether set prior to sharing as a service or whilst the data was in AGOL (which can only be done as a feature template). Here default values for fields set on the feature dataset's properties in ArcMap seem to be confounded with default values set in feature templates when you upload data to AGOL.
I may be missing some good reasons why aliases and defaults aren't stored in the obvious places in AGOL service/layer definition?!