Why are these bricks slightly shorter than normal?
For starters, having that as a production error is completely impossible, given the industrial precision of our beloved bricks.  The LEGO group has been incredibly careful for decades about the tolerance of their bricks' dimensions:


You can read this WIRED article where the author compares old and new bricks' dimensions (TL;DR: they have been making really precise bricks for decades).
Their current standard for tolerance was 10 micrometers in 2009 - see page 20 of official LEGO documentation.


I think we can discard that option.

As @SlicksterTheBrickster said in his answer, the shorter bricks seem warped.  The most plausible explanation is that extreme heat made the ABS plastic bend and get a little thicker on the walls or a little taller (floor to studs distance).  ABS is a thermoplastic polymer (as opposed to a thermosetting one), meaning that it cannot withstand intense heat and it will melt.  As an example, it's normal to wash and disinfect bricks with water at 40°C, but if you increase that to maybe 60°C or 70°C the plastic will start getting "plastic" (i.e. moldable). ABS is an amorphous material, meaning that it doesn't have a proper melting point and it transitions slowly (like glass). I would say that you can get the effect that you show by building a model and leaving it e.g. in a closed car under very hot sun with some pressure on the sides or strong torsion, or maybe close to a stove.  The bricks will slightly bend and/or deform after the episode.

If you are curious, get a caliper and measure both bricks' height and width at several points all along their length, and do the same with the walls' width.  I'm almost certain that the shorter one will have a significant variation in those values.  If your question is "But where did that material go?", it went into slightly swelling the walls.