Table Relationships for Property Bags Configuration
You've captured the relationships in the design that you've referenced correctly.  The one nuance that isn't clear in what you've documented is that the relationship from user_preference to allowed_preference_value is optional, meaning that user_preference.allowed_preference_value_id is nullable.  It's not clear whether you've accounted for this or not, but it matters if you have user preferences which are not selected from pick lists but are instead taken from another source.

Your design also omits the preference values themselves.  I'm assuming that was a deliberate choice to focus on the relationships and gloss over the rest.