Ich vermute mal, daß es sich hier einfach um ein Versäumnis handelt. Ein
TForm reagiert anders auf Scaling als die darin enthaltenen Controls (und das muss auch so sein). Offenbar hat man bei Einführung der ScaleFactor Eigenschaft vergessen diese auch in
TForm.ChangeScale zu aktualisieren. Ich habe mir mal erlaubt, dafür einen Bugreport zu schreiben:
ScaleFactor never changes for TForm
Wofür benötigst du denn diese Information?