Support high DPI displays in custom 3D View rendering

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

image

I can access this setting through context:

context.preferences.view.ui_scale

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:

context.preferences.system.ui_scale

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?