So environment variables on Linux are tricky business; basically, the answer depends on how your desktop session is set up.
Usually, PAM will load environment variables during session initialization; I'm pretty sure that's the thing that reads /etc/environment. See man pam_env; though whether it works depends on whether that module is enabled in your PAM configuration.
You can also have other things read environment variables. If a user systemd instance is launched that starts the rest of your session, that will load environment variables from various places (it also affects things launched indirectly through it, eg. via D-Bus, that can't inherit your environment from the shell)
The "last" level in a typical GUI session is the shell in your terminal which will read the "traditional" files, but they aren't usually very useful for GUI applications because the GUI applications generally aren't started from any process that has a shell in its ancestry nowadays.