I posted this as a comment in another thread in the Collector community, but that question was already listed as answered, and this is affecting AGOL Feature Services, so I thought I'd re-post it here.
It looks like this is a problem in AGOL before and after the April updates. I just overwrote a feature service that has a category symbology in Pro/Desktop based on a field using a coded domain. In the data pane of the feature layer's details page, the values displayed in that field are showing the coded value rather than the description. This is also the behavior when the field is listed in a pop-up in Map Viewer or in other apps (e.g., Collector).
There's nothing wrong with the domain itself. I have two other fields using the exact same domain, but not being utilized for symbology/style, which show the description. See the image below; all three fields use the same coded domain, but the first one is the symbology field at the time of publishing.
It appears that I can get around this by publishing the layer with a single symbol style and then setting up the style under the feature layer's Visualization tab, which then translates into the maps the layer is in. I can also then change the field that any given map uses from that layer to style it in the map without breaking the other field.
The problem looks like it's in the types section of the JSON at the REST endpoint. I've compared them by publishing with the category symbology in Pro/Desktop and just publishing it with a a single symbol. When the category symbology is used, the "name" values (both of them) for each type are set to the value instead of the domain description. Each type also has data in the "domains" section, which is empty when publishing with a single symbol and doesn't contain anything even after setting a style based on a field under the Visualization tab. It looks like a list of every field that uses a domain in the feature layer in the form:
"Field_Name" : {"type" : "inherited"},