Earlier quoted context omitted.
It's not a mystery at all. Planned obsolescence is a thing and manufacturers have all kinds of perverse incentives to ensure that your perfectly serviceable phone gets traded in for a newer model.
I like to call it "premature obsolescence". I don't believe that the manufacturers actively try to make your old phone get slower. Rather the opposite: they don't try to keep your old phone working. The devs probably have the latest phone, and write code that works well with them. This code can be inefficient, as long as it works well on the newer phone, even if it makes older phones slower. Maybe I am being pedantic…
Granted, my big example of this is quite old (the iPhone 4 would run iOS 6 really well, while on iOS 7 it was a glitchy, slow, battery-draining mess) but it does seem to be a common trend (my last Apple phone, the iPhone 5 ran quite well on iOS 9 but would just have a complete breakdown if you installed iOS 10).
They were IIRC also caught red-handed a couple times deliberately releasing updates to older iDevices that would just wreck their battery life and have a few lawsuits pending about that.