Basically, there is a snippet of JS code which works out the padding for the figure (which is the height of the image), it does this on the first product, and applies that to all the other products. So if your first product image is larger than the others, the rest of the products will start showing the second image, if your first product is smaller that the others, then your other images will be cropped.
You could set a padding and add important to it so that it ignores what the JS works out, however the padding is different for each screen size so you would have to set the padding for each screen size
– Kyle