When you try to set a local exception to a global preference, the form field is correctly re-enabled when you click the local-exception checkbox, but the new value is not saved.
If you then reselect the desired local preference, and save, it works.
This is because the form field is re-enabled in the front end, but when that form's submitted the field is still disabled (because the list of preferences is built before the new values is saved, and so at that point the local pref has not yet got a local exception).