Attached a small test program showing the problem.
This line
Log(GetDeviceLayoutValues.toString) returns following values for my two devices:
1536 x 2048, scale = 2.0 (320 dpi) on my Samsung Galaxy Tab S2, real dpi values 265.40399169921875 / 264.0559997558594
1080 x 2076, scale = 3.0 (480 dpi) on my Samsung Galaxy S8, real dpi values 422.03021240234375 / 423.9697570800781
As you see, there is a difference between the real dpi and standardized dpi values!
Both squares (Panels) have a width and height of 160 (1 inch) in the Designer without AutoScaleAll.
The upper square is bigger than the lower one, this is due to the difference between the real scale and the standadized scale.
The lower square has a dimension of 1 inch, 25.4 mm!
It's dimensions have been adjusted with a scale calculated with the real dpi and standadized dpi values.
screenshot of the Galaxy S8
The result of this
GetDeviceLayoutValues.ApproximateScreenSize is wrong too on my device (Galaxy S8), like on yours, depending also on the difference between the real scale and the standadized scale.
Be aware that the size of Buttons is a bit smaller than the dimensions you entered in the Designer.
That's the reason why I use Panels to show the difference.