Support high DPI displays in custom 3D View rendering

I want to support high DPI displays by respecting the UI Scale setting in Blender.


I can access this setting through context:


However, there’s also a similar setting in PreferencesSystem which supposedly accounts for OS-level settings as well. (I tested this in Windows 10 but found that to not be the case) It can be accessed in a similar fashion:


Both values always seem to be the same. Specifically, PreferencesSystem appears to just copy the value set in PreferencesView. Which one should I use to scale text drawn with blf.draw() in a draw callback? What can cause the two values to be different?