Not to mention drivers… many driver blobs are proprietary and if you can find an open source one, there is a chance it works partially or not at all. I have a spare phone and I’ve been hesitating between flashing either PostmarketOS (all FOSS drivers but without the android ecosystem) or LineageOS, or maybe both if I can achieve that.
F-Droid is the way