Somebody please correct me if I’m wrong about this, but this is the way I understand it.
Actually Maya will run every userSetup file it can find.
I’m unsure about the order, but for your purpose it shouldn’t matter.
What’s happening here is that userSetup.py runs before Maya is fully loaded, at least before the settings are loaded.
So settings made with Python commands are overridden by the rest of the startup sequence.
A way around this, I find, is to use evalDeferred to run a command on lowest priority.
This way it waits for startup to finish, then runs the given command.
Try putting this in your userSetup for example.
import maya.cmds as cmds
def foo():
print('---This is the userSetup running---')
cmds.evalDeferred('foo()', lowestPriority=True)
If you check your script editor after maya loads you should see the print statement in there,