Hi Andrew,
Unfortunately that is the expected behavior of services and web maps. When a service is added to a new web map, it essentially becomes static. Any changes made to the layer outside of the web map do not directly impact the layer in the web map. This goes for new features, edited records, changes to symbology, etc.
While the Refresh Interval can pull in new and edited records, the same cannot be said for symbology, pop-up configuration, and labelling. This is described in the following defect (applies for both ArcGIS Online and Portal for ArcGIS): https://support.esri.com/en/bugs/nimbus/QlVHLTAwMDA5Mzg4MA==
The only workaround is to remove and add the layer back to the web map, which as you found, resets a lot of visualization customization. Since all of this information is stored in the web map JSON, adding the new layer to the web map refreshes this information. To quickly import the previous symbology back into the web map, you could try using the ArcGIS API for Python, as you have mentioned, or ArcGIS Online Assistant to copy the JSON of the specific layer and paste it back after adding the new layer.
Here are some potentially useful resources:
https://community.esri.com/t5/arcgis-api-for-pythn-blog/methods-for-updating-layer-symbology-with-th...
https://ago-assistant.esri.com/ (I want to -> View an Item's JSON)
In short, it will require some effort to update the symbology of an existing web map while also keeping other visualizations. This is the expected functionality of the software at this time.
Best,
Calvin