Finally, I have a working menu that modifies the device tree and results in either v3d or llvmpipe rendering, without the need to change config.txt:
$ cat /boot/boot.txt
# mkimage -T script -C none -n 'My Script File' -d boot.txt boot.scr
setenv fdt_addr_r 0x3e00000
fdt addr ${fdt_addr_r}
fdt resize 8192
setenv fdt_ovl_addr_r 0x3f00000
setenv bootargs root=LABEL=MNJRO_ROOT rootfstype=btrfs rw rootwait console=serial0,115200 console=tty1 selinux=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=serial0,115200 usbhid.mousepoll=8 snd-bcm2835.enable_compat_alsa=0 audit=0
fatload usb 0:1 ${kernel_addr_r} kernel8.img
fatload usb 0:1 ${ramdisk_addr_r} initramfs-linux.img
setenv ramdisk_size ${filesize}
setenv load_disable_v3d fatload usb 0:1 ${fdt_ovl_addr_r} overlays/disable-v3d.dtbo
setenv apply_overlay fdt apply ${fdt_ovl_addr_r}
setenv standard_boot booti ${kernel_addr_r} ${ramdisk_addr_r}:${ramdisk_size} ${fdt_addr_r}
setenv bootmenu_0 Manjaro v3d=run standard_boot
setenv bootmenu_1 Manjaro llvmpipe=run load_disable_v3d apply_overlay standard_boot
setenv bootmenu_2 Reboot=reset
bootmenu 10