The problem may be related to the fact that I am developing on a machine at 120dpi. When I save a form this value is automatically set in PixelsPerInch. This 10.2.2 Delphi release is the first one I have found where 'it just works' (on other resolution screens) when I do this, and I have never been able to work on two 1920x1200 screens using only 96dpi, so I have used non-scaled forms (in Delphi Berlin and earlier) up to now. I did not mention this in my original posting because I thought I had tested a build developed on a 96dpi machine with the same result, but I cannot now be sure about this.
Nevertheless I have just found a solution to my problem. I have gone back to an old version of Formsize.pas from about 3 years ago, before the 'hook' code was added, and extracted the relevant bits (some of which are still present, commented out) into the method of the current source that sets the screen dimensions. Now I have no panels squashed down when I reduce the window size set by the component.
Thanks for the suggestions, and apologies if I missed a relevant fact.