True to an extent but you forget that things changed in 2018 for the usual upgrade cycle for a lot of users.
There was Apple’s battery replacement program for US$29, or CAD$39 here in Canada. Thus, my 7 Plus’ battery is only 8 months old, and my battery life is OK. Performance is also fine since it has 3 GB RAM and Apple A10, which still has quite reasonable multi-core performance. In Geekbench 4, the A10 scores over 6000, and that’s actually faster than a 2016 Core m3 MacBook.
So, I’m still fine with this 3 GB 7 Plus until 2020 when the iPhone gets 5G. Things are not quite as nice for the 2 GB iPhones (SE, 6S, 6S Plus, and 7), but performance on those is still adequate for a lot of people, even on iOS 13, and a lot of those phones got new batteries last year too.