We recently moved data from in-network to hosted feature layers and needed to update existing maps to fix the broken links after the move.
When we used the exclamation point to fix the broken link and point the layer to the service, it will attempt to update any other layers that are broken and use the same source.
However, we noticed behavior that replaces unbroken layers AND change the geometry type of other layers.
For example:
Map has the following layer:
Once we resource the Point Layer to the web service using the red exclamation point, it will change the Polygon Layer to point to the same web service AND the geometry type has changed to Point, which makes it impossible to switch it back to the Polygon Layer’s original source.
After realizing this HUGE issue, we have to go back and fix all the maps AGAIN.
As a workaround, we will no longer use the red exclamation point and will go into the Properties>Source>Set Data Source.
I don't know if this would work if the link is already broken, but have you tried the Update DataSource tool available in the Catalog pane?
I use this tool for switching data sources (enterprise gdb, file gdb), but I'm not sure if it can handle changing the data source to a service.