I will post an update since I ran into a problem.
PSA: preinit device name for the Pixel 4a5g with Graphene OS is also "metadata".
I was originally on Slot a with GOS ota_update-2023030400 with Magisk 25200.
I tried to update to GOS ota_update-2023040400 with Magisk 26100 but the update initially failed (bootloop after Graphene logo but before where it should be optimizing apps) and rolled back to Slot a.
So I disabled all my Magisk Modules (Hosts for Adblock, DisableFlagSecure, Zygisk, and Enforce Deny List [USN 2.4.0 was disabled during all of this]), this enabled me to update Slot b to GOS ota_update-2023040400 with Magisk 26100 . and all was well...
Then I enabled all my module and got stuck in a bootloop. so this is where all my problems began.
With a locked bootloader, I couldnt just switch back to Slot a. so I tried to flash Slot a with GOS ota_update-2023030400 with Magisk 25200 to force the phone to boot from Slot a, but that was a no go since the GOS recovery considered it a downgrade and blocked the OTA.
OK, I thought this cant be an uncommon problem with modules causing a bootloop. So the next step was to somehow disable all the modules on load... Magisk disables module loading on next launch if the the phone enters SafeMode. Well turns out I dont think GOS has a safemode, cause the key combo doesnt seem to do anything, and I couldnt find any reference to Safe Mode on their website either.
What about just telling magisk to not load the modules manually...
well the ADB shell method was out because I hadnt enabled SU in the shell beforehand (and I dont know if I feel comfortable leaving shell with root access during normal use anyway).
Fine, I guess I need a way to enable USB debugging...
So I ended up flashing GOS ota_update-2023040400 without Magisk
to Slot a (still self signed). This did boot, but without root obviously. I enabled USB debugging. Then I tried to update slot b with GOS ota_update-2023040400 with Magisk 26100 again. and run
./adb wait-for-device shell magisk --remove-modules
that just seemed to crash the phone faster... (after Google logo, before Graphene logo)
there does seem to be a small window where USB debugging is enabled before it crashes, I might try "./adb wait-for-device shell magisk --remove-modules" during that window manually...
The way I see it I have 4 possible routes left...
1. keep using the phone without root (not preferred)
2. somehow find a magisk apk that doesnt load modules (idk about this one, might feature request...)
3. build graphene OS from source (Target 2023030400 but change the number during build to 2023040400 to trick the recovery )
3a. see if there is a way to change the build number of the ota_update-2023030400 to ota_update-2023040400 to trick the recovery
4. nuke the phone and start over...
This is not my main phone, just an experiment, but this deadlock is annoying....
Im going to be busy for the next month, so I wont have time to play around with this for a while.
Any advice you guys could think of would be appreciated.