"when it comes to newer versions of Android not being supported, it's often not up to the device makers."
The first few ones tend to be entirely up to the makers. It's relatively easy to check: if someone else managed to get the same SoC to run a later version, then they could do so too. Here's an example. I will use Planet Computers as the guilty party here although they're far from the only one to blame. They have a device, the Cosmo Communicator, which runs Android 9 on a Helio P70. The P70 is also in use in devices running Android 12. I don't mean Lineage OS ported Android 12 to it, I mean that someone else manufactured a phone running Android 12 on it and still has a Mediatek license. Maybe Android 13 can't run on it without breaking some license that must exist somewhere, but versions 10-12 are at the least are on Planet.
Given this, I have to wonder if we're assuming a contractual detail where none exists. Can you explain why the contract says "thou shalt not update the operating system", or just speculation that it must do? I've seen plenty of the latter, but the closest I've come to seeing the former is some talk about vendor-written kernel patches, which shouldn't stop them running newer Android on an older kernel, using someone else's kernel, or open sourcing the kernel changes which they're supposed to do anyway.