Systemd user units are not able to see the environment variable configuration without running
dbus-update-activation-environment --systemd --all
By the point we log in, some units have already started (importantly for me, Emacs). It's probably best to use the environment.d configuration files to do this.