_NET_DESKTOP_NAMES
The root window property holding the names of the virtual desktops as UTF-8 strings in order, and the only one in the set that anyone may write to directly.
Named workspaces are as old as the idea itself: Rooms at Xerox PARC had rooms with names, CDE's Front Panel let you click the button labelled One and rename it, and FVWM gained DesktopName. EWMH gathered the names into a list of NUL-separated strings of type UTF8_STRING on the root window, one of the first properties to use the new type in place of ICCCM's COMPOUND_TEXT. Unusually for the set, the list is not owned by the window manager: a pager or settings dialog may change it with a plain XChangeProperty, no ClientMessage ritual, and the manager is expected to watch for PropertyNotify and redraw.
The list and the count need not agree. If the list is shorter, the trailing desktops are nameless and shown by number; if it is longer, the surplus is reserved for desktops that may yet be created, so "mail" is not lost just because you temporarily removed a desktop. This is where i3's "2: www", GNOME's workspace names and KDE's list in System Settings all end up. wmctrl -d prints the name in the last column, and xprop -root _NET_DESKTOP_NAMES shows the whole list with commas where the NUL bytes sit.