Before ff355e87e2f7a41a87c37f43232a44113cb033e0 (see https://git.wikimedia.org/blob/mediawiki%2Fcore.git/c0d3e85b06d628e5c4a7c93cfe5fb7587f9118f0/includes%2FUser.php#L4634 ), a preference would save in two conditions:
- Default is null, and the saved value is neither exactly (===) false nor null.
- Saved value != the default.
As a special case of #2, the value false *should* save, as long as the default value was != false. For instance, this applies if the default is true, since false != true. (Note, false == null, so there is no way false can save if null is the default).
This bug is on MediaWiki.org.