The millimeter matters when people are buying the phone, the battery life and other complaints only matter once the person has already paid for the phone, so Apple doesn't care.
People say they want lots of battery life, but slimmer devices consistently outsell thicker ones.
This. When you're in a store, a thin phone feels nice in your hand. It feels new and sleek. You can't judge battery life in the store -- you need to research that separately.
The problem with that hypothesis is that a non-trivial number of iPhone customers (that I anecdotely know) tend to upgrade every few years, not every iteration. If a device is "good enough" to last 2+ years, I'd say Apple is doing a decent enough job at keeping their users happy.
I wonder if there is any scope for increased battery life by disabling animations / GPU or switching to a messaging system different to Obj-C (ie, string lookups)?
People say they want lots of battery life, but slimmer devices consistently outsell thicker ones.