Investigate dpr in native text rendering - left some todos in there due to some confusion in the OpenGL code path.
There is a deeper problem here however: the native text implementation assumes that the device pixel ratio is available at the sync phase (e.g. in updatePaintNode). The dpr (that is then exposed via RenderState::devicePixelRatio()) is only calculated however (along with other sizes) by QQuickWindow before the render phase (not the least because it is simply not known before that point what the real render target is, e.g. is the renderer targeting a texture via QQuickRenderControl, or an actual window, etc.)