And... I found the issue. The problem was that one of the ttf fonts was set to Unicode instead of dynamic. So though the uilabel was set to dynamic and it was linked to a ttf asset, the asset itself also needed to be set to dynamic.
Is that intended behavior? If so, perhaps a check is needed somewhere?