Note: this has been raised as bug 1045745 with the Chrome team.
Below we load the same image twice (with a query param to make the brower think they are different images).
The second has the loading="lazy" attribute for native lazy loading, but other than that (and the query param to make it look like a different image) it is identical. We also add width and height attributes to the image. We also override the width with CSS and set the height to auto.
What's even weirder is that I am seeing two different (incorrect) values for the second image height: 16 if dev tools is closed and 300 if dev tools is open. I've no idea why this would be different?
Note this works perfectly in Firefox for both images.
Image one initial height is: Loading...
Image two initial height is: Loading...