The reason most phones lose support in general is Qualcomm and their binary blobs.
I think what Fairphone does in part to greatly extend y phone life (at least initially) was to use an industrial version of the mobile chips they offer which they give support for way longer.