The alternate approach is actually to utilize the fact that Android is relatively better supported and wrap Android components into a standard Linux userland, using a compatibility layer like libhybris with patched vendor kernels. It's pretty ugly but if you want Linux on phone now it's your best shot at a flagship experience.
Is the Librem 5 really that far behind still?
The exception: GrapheneOS. I installed without hassle over USB via my web browser (!).
As for flashing over USB, any device can do that thanks to WebUSB. All a website needs to know are the device identifiers for ADB mode, recovery mode, and fastboot mode.
I'd say building an image capable of booting on the phone is much harder than altering the GrapheneOS installer to actually flash that image. The process is extremely similar for most devices.
Even something as niche as the swipe on fingerprint sensor to pull notifications drawer down still works!
Everything from phone calls, camera, fingerprint, all the essentials work pretty much flawlessly.