What about making this private, and having a getter:

    bool get stripWhitespaceOnSave => _ stripWhitespaceOnSave.value;

This would make the API a little simpler to use for clients. They'd only have to know about a bool instead of a BoolCachedPreference, and there'd be no async (assuming onPreferencesReady was already called).