I've noticed that if I set the password expiration to 30 days in the Backoffice it will record in the GlobalSettings the value 20.
All the other values match the description to the value saved.
Since this value can be used to calculate the remaining days the password is still valid I think it should have the right value set. Check the sources in the GetPasswordExpirationValues (UserManagement_cpl file) method that loads the dropdown values.
I know that I can update the GlobalSettings with the correct value, but if a user saves the settings in the Backoffice it will overwrite the manual value.
I’ve tested this in 9.3.7 and 9.4.1 versions.