I asked in the forum for the need of flashing stock before flashing /e/. The answer was that the device tree (?) and firmware changed and therefore it’s required to flash those firmware upgrades first.
AFAIK some custom ROMs already include those firmware upgrade within their release, I know that iodeOS and /e/ are doing it like that.
Thanks for the procedure! I was also disappointed by the lack of OTA upgrade (at least now it’s clear it was a technical issue). Your post motivated me to give it a try and it worked very nicely (well, except that I Can't install open source apps but hopefully that can be easily fixed).
The only thing that was not clear to me was point 2: it took me some time and research until I realised I had to type fastboot flashing unlock on my computer when on the bootloader screen. Maybe you could add this to your original post in case someone else faces the same issue as me?
If managed to install a stable version as follows (cross-post from here).
I updated from Android 9 (dev) to Android 11 (stable; zip here). I first did the installation of the FP3 stock ROM 11, as described above (steps 1-4).
One modification: In step 2, I was not asked to enter my unlock code again as described in the docs. Instead the toggle in the developer options just went to “active” but when rebooting into fastboot, the phone was still shown as locked. I solved this with the command fastboot flashing unlock (in fastboot mode), and rebooting into the wiped OS and then again into fastboot mode for step 3.
At this stage I had my phone on Fairphone stock ROM 11.
Go again into the fastboot mode.
Again unlock the phone with fastboot flashing unlock. After that in reboots automatically (I let it boot into the OS).
rebooting into fastboot
Locally unzip IMG-e-1.6-r-20221129238947-stable-FP3.zip (the one I used) and change into the extracted directory. (You can find the stable zips here).
Finally execute the flash_FP3_factory.sh
This ran through without errors. After that I could simply reboot into my shiny /e/ Android 11.