Google specifically removed the GNU part from GNU+Linux to make Android to avoid angering Qualcomm and manufacturer, so Google, Qualcomm, the brand, white label manufacturer and the carrier all add their driver blobs step by step to make everything work together, which means that every phone has a unique linux kernel with different driver blobs, and so the base Android kernel was usually on a really old version compared to mainline or LTS and are not interchangeable.
That’s why most manufacturers will stop supporting their phone after like 2 years, because again, every phone model has a different Linux kernel to maintain.
Treble helps a bit, but not using mainline was a mistake Google made from the very beginning of Android.
Google specifically removed the GNU part from GNU+Linux to make Android to avoid angering Qualcomm and manufacturer, so Google, Qualcomm, the brand, white label manufacturer and the carrier all add their driver blobs step by step to make everything work together, which means that every phone has a unique linux kernel with different driver blobs, and so the base Android kernel was usually on a really old version compared to mainline or LTS and are not interchangeable.
That’s why most manufacturers will stop supporting their phone after like 2 years, because again, every phone model has a different Linux kernel to maintain.
Treble helps a bit, but not using mainline was a mistake Google made from the very beginning of Android.