Why is config.js mounted to outside the container?

I noticed a file called settings-config.js that is only inside the container in the defaults directory, in this file I believe configs are being changed using the variables in .env I think these are then written into the /config/config.js but not into /default/config.js the former being the one which is mounted… This makes things pretty confusing because some values in config.js are overwritten by the .env variables via settings-config.js and you always have to check to see if it is overwritten or not, am I correct about this observation? If I understand correctly a new config.js is created out of the one in the default directory and the settings-config.js with the .env, this is created every time the container is restarted, in order for changes to apply you need to restart the container, so it will override any changes from outside the container, which means the only reason to mount the config is to see what the config is now, which is anyway confusing because there can be multiple references of the same config and only the last one is actually correct… Am I correct with all these observations?