You (unnecessarily) assign the Image2 to a variable img - this is just am abbreviation for typing. So, whenever you write img you mean Image2. You set img.Proportional to true - because img=Image2 this sets Images2.Proportional to true. This scales the raw image to the size of image2 (I thought that it is required also to set Stretch to true, but this seems to be wrong).
Then you set Image1.Picture := img.Picture. This does not copy the scaled image, it copies the raw data which are in Img = Image2.
Therefore, you have the unscaled image im Image1 and the scaled image in Image2.