From a users perspective the question would seem to be whether they want to spend $89 for a battery or $890 (maybe minus that re-sale value of 200-300, so still around $600) on a new phone.
No, they can pay less than $120 on a new phone in the budget tier which will be at least comparable in capabilities to a 5 year old phone in any tier and also have about 2 years of life.
That works out to around fifty bucks per supported year, and you aren't creating a mountain of e-waste by throwing away a perfectly good phone every other year.
I think its great that phones are being supported for 7 years but in a way it is a marketing chip based on consumer's using unrealistic linear depreciation.
Some consumers can pass down, repurpose, or only need very basic things, but most consumers need much of the relative performance they first bought, break screens, can't handle embedded battery replacement logistics, etc, so most probably have replaced something like the iPhone SE before 4 years is up and are paying more than they would have expected.
The single core performance of the current Samsung A14 is about a third of the currently sold iPhone SE.
If you're going to keep the same device many years, don't buy something with slow performance right out of the gate.