This is very interesting! Maybe we could use this thread to collate thoughts, theories and data on the functioning of the present scaling in KOReader. A couple of months ago I did some experiments and took a few notes on the different settings available:
"Screen DPI"- + Affects UI size.
- + Affects EM fonts.
- - Doesn't affect PX, PT, IN, imageSize.
src>> Device:setScreenDPI(_dpi)
"Font Size"- - Doesn't affects UI size.
- + Affects EM fonts.
- - Doesn't affect PX, PT, IN, imageSize.
src>> SetFontSize()
"Zoom (dpi)"- - Doesn't affects UI size.
- - Doesn't affects EM fonts.
- + Affects PX, PT, IN, imageSize.
src>> SetRenderDPI()
src>> self._document:setIntProperty("crengine.render.dpi ", value or 96)
This weird separation is more historically grown than intentional, I assume? I still remember how confusing it was when I started using koreader...