Yesterday I noticed another issue and wondered if it might be related to this one. Turns out: yes, it is.
The issue as I observed it was the complete lack of all XDG_* environment variables when I logged in. Didn't matter whether it was console or ssh. (There was also no /run/user/MYUID directory created for me.) After some digging, I found that there is a known issue in recent systemd: <https://github.com/systemd/systemd/issues/7074> Long story short, any user defined by a network service like NIS will not work in systemd because systemd-logind runs (by default config) in a no-networking-allowed sandbox. And my user account is defined in NIS. There are multiple possible workarounds. The one I tried first was installing the nscd package. That didn't fix it immediately, but it *did* fix it after rebooting. So, I never moved on to other potential solutions such as defining a drop-in override for systemd-logind to turn off the IPAddressDeny=any feature. That may be better or worse; I can't say. My problem may be different from others in this thread, despite the same symptomatic error message in the X log. I'm going to open a separate bug against the nis package just in case; if it turns out that I'm wrong, then the bug can be marked as a duplicate.