Found while testing bug 7267.
There is something in GNOME that enforces a DPI of 96, even if some other application is changing the session resolution. So specifying "-dpi 48" gets the session starting at a DPI of 48, but when you starting resizing things you'll see a DPI of 96 again.
Oddly enough it doesn't stay consistently at 96. For some resolutions you get the expected 48. Not sure what's going on here.
Tested on Ubuntu 20.04. Problem appears in the "Unity" version of GNOME, and the standard version, but works fine when using Xfce.
To clarify, the "-dpi" argument is given to our Xvnc in /vsmagent/xserver_args in order to control the session DPI.