User preferences take precedence over repository preferences, and both take precedence over global preferences. A message box displayed at the top of the preferences page makes that clear (although not everyone reads those.)
However, there can still be confusion because initially your user preferences are unset. So a checkbox like "Pre-populate Records?" will appear unticked, but if it is enabled in repository or global preferences then default values will be applied to new records. However, if you edit your user preferences, for example to change the columns in a list view, when you click save the unticked checkbox means the feature will be disabled, for you, from that point on.
For an example of the sort of confusion this can cause, especially when you have multiple systems used for testing and you cannot remember on which you might have edited your user preferences, see http://lyralists.lyrasis.org/pipermail/archivesspace_users_group/2020-December/008106.html
It would be better if single checkboxes were replaced with three radio buttons labeled something like "Yes", "No", and "Accept default". The last of those would be selected initially, so a user would have to explicitly click "Yes" or "No" to change functionality. Default values wouldn't just stop working because you reordered some columns, and for system admins there wouldn't be the uncertainty about which users get default values, despite the checkbox being unticked for both.
Better yet, if admins could lock preferences into "Accept default", preventing users from changing them, then you could enforce policies like always using default values.