Thanks everyone for the help so far. I do see the code works with map services. The field in the table won't always populate (for me anyway) so I didn't catch that it worked in the popup.
I think the problem is with the map service I started with. I haven't figure out why, yet, but it appears that the "point" feature-type layer loaded via the map service is really a "multipoint" layer/feature class. For some reason the point-related arcade expression code works with the layer in the expression builder, but perhaps not outside of the builder. I'm looking more closely at our map service and the map viewer.
If anyone would like to take a closer look, here's the map service: NCDOT_STIP (MapServer)
Thanks again. I really appreciate the help.