If the aim is to get away from Google, it is probably best to run something more Android-like, such as LineageOS or GrapheneOS. Stick to well supported hardware and it will just work. PostmarketOS is more like a generic embedded system.
AIUI, 'Nice to have' in this case is in relation to 'technical feasibility' rather than actual useability. Cameras and modems are two notoriously closed down parts of modern smartphones, and thus it follows they are the most difficult if not downright impossible to support properly.
Shouldn't this make it an easy device to run something like Postmarket OS? Of course it's non free drivers. But in terms of getting a device working, I'm not sure why it isn't used more.
If one of the devs wants the device to port PostmarketOS to it, I got a spare one (its a K1 ie. the remake of the orig. Nvidia Shield Tablet. Not that they differ much).
I have a PinePhone running PostMarketOS. Issues (remember its alpha software): A bunch of programs did not open at all such as the image viewer, web browser and some others. Camera program opened but couldn't connect to camera. No cellular radio support means no calls, mobile data, or sms. Wifi works so you can do all the fun admin and developer tasks. USB OTG also doesn't work so USB things like keyboards, mice and USB sticks plugged in via a USB C->A adapter didn't work. Sound didn't work for me But those are all solvable problems.
I haven't booted it in two weeks but I was able to get it to build and run drawterm (plan 9 terminal emulator) without much effort save for downloading a few libraries. No input as KDE Plasma uses a different input method than x11 so until a shim or patch, x11 programs probably won't work out of the box. In the case of drawterm, it connected to my CPU server and displayed the login prompt. But tapping the screen did not bring up the keyboard so I could not log in.
Conclusion: Owning a modern open smartphone is liberating. It feels like a PC in the sense you can just download distro images, write to SD, boot from said SD and even install to mmc. Once things progress you can do all of that right on the phone so you can test new mobile OS's on the go without plugging anything in. KDE plasma feels like a real mobile OS and worked surprisingly well. Updates for the entire OS are done from the alpine package manager. Building software on the phone felt liberating. My phone has a compiler and developer tools. I really hope the Pine Phone is my daily driver within a year or so.
I think the Nexus 5 has had the most attention historically, and may work best today. They have officially stated that the PinePhone is the future though - between the fact that it is easily available (to developers now, general availability expected in a couple months), and there is enough information that we think it is possible to make everything work it will soon be the best.
Nothing is currently usable for everything. PinePhone will soon be usable for phone calls, something nothing else can claim.
Some binary blobs are just firmware, and so you just need to know how to load it into the radio - this is generally trivial to port to something else. However you still need to know how to access the blob and that is often restricted.
Even where it needs to run in the local OS, it is physically soldered onto a board - nobody is going to put it in a different phone so the CPU is already know. As such it isn't hard to write an emulator for the parts of the host OS it needs. *BSD can run linux apps as if on a native linux kernel (they are generally a few years behind the latest linux kernel but that is typically good enough), and Wine allows running windows apps: the same thing can apply to blobs that need to run in your OS. However you need to know how to access the functions in the blob which is often not known.
Of course it is possible for a blob read/write to random places in memory in a way that works only for a specific kernel. If a blob does this it is very difficult to port to anything else (you have to figure out where it might write and ensure you never use that memory). This is rare and evil enough that if a blob is caught doing this kernel developers will make changes such that the blob won't run (blobs that do this tend to have bugs such that the entire OS is unstable and users blame the OS not the blob)
The link above mentions Bluetooth and Camera as “nice to haves”. I would love to get away from google but half the point in a phone is the camera.