The above workflow does NOT fix the problem for me.
My 2016 Web Map and We App was using a map service published from a single MXD which contained all of my layers. I was able to create labels using Arcade in the Web Map after the update last year, save the layer with the label changes, and save the Web Map. I thought the Web App had reflected those changes at the time, but I may be wrong. The labels do not show up now.
I created a new blank MXD in ArcMap and added just the feature class I want to label, with the labels configured using the basic labeling engine. I received no warnings after analysis. I published the data with feature access enabled and no caching (dynamic from the data) to ArcServer using our datastore.
I shared the feature service with my AGOL organization in ArcServer Manager. Then I added the feature service to my Web Map. The labels did not automatically display in the Web Map the way they had been configured in ArcMap; I had to create a custom expression using the Arcade language and add a halo. After saving both the layer and the Web Map, the Web App still doesn't display the labels that have been configured in the Web Map it is consuming. Just to check, I restarted the Web AppBuilder service on our server and reloaded the App to edit, then re-launched it - no change.
I am using Web AppBuilder (developer edition) hosted on our own ArcServer site, but sharing our services with our ArcGIS Online organization (a "hybrid" deployment). We are using 10.4.1.