I was about to firmly disagree, but perhaps my issue is that I've been assuming XYZ tiles were vector. Maybe _some_ are vector, based on the connection? If I'm remembering right, I imported a load of XYZ sources, and then never thought twice about them. I should have been more discerning. I'll look deeper into getting some proper vector basemaps.
> This is kind of the only "right" answer when dealing with raster basemaps.
I believe ArcMap uses rasters (when you choose the simple "add data" feature and one of their pre-selected basemaps), but they still render the labels appropriately when you export.