As a little side project, I decided to try a proof of concept and dual boot Windows and Manjaro on a RPi4 with a SSD via UEFI and grub, and I am happy to say, it can be made to work.
$ sudo fdisk -l /dev/sda
Disk /dev/sda: 465.66 GiB, 500003004416 bytes, 976568368 sectors
Disk model:
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 82BD7DB9-65B6-40DA-B187-48AFBD312BB1
Device Start End Sectors Size Type
/dev/sda1 2048 264191 262144 128M EFI System
/dev/sda2 264192 296959 32768 16M Microsoft reserved
/dev/sda3 296960 62519295 62222336 29.7G Microsoft basic data
/dev/sda4 62519296 70907903 8388608 4G Linux swap
/dev/sda5 70907904 187047935 116140032 55.4G Linux filesystem
There seems to be an issue with changing the UEFI default settings and Windows ARM booting, if the boot device is determined via boot order. However, it will boot, if you use the UEFI Boot Manager to select the boot drive. I have opened a ticket.
Edit: This patch has now been submitted, no clue, if or when it will be accepted.
Edit 2: The patch has passed the eye test, so hopefully it will make it.
Edit 3: I was given a patched copy of RPI_EFI.fd and it does resolve the Windows ARM not booting issue.
Edit 4: This is the patched RPI_EFI.fd file. It is a link on Discord, I assume you can download it.
I removed Windows ARM, just not my thing, and I doubt the long term viability.
After a bit of wrangling, I added Arch ARM. So now I have Manjaro, Arch and RPi OS 64 installed with room for a forth on my internal SSD (Argon M.2 case).
After using this setup for a while, it does seem to be maintainable and revertible. Each OS has its own local /boot directory in the rootfs partition and all share /boot/efi (sda1), which contains the UEFI files so updates work without breakage. I just need to manually update my grub.cfg and /boot/efi/overlays files, as desired.