Sysupgrade on armsr/armv8 only works with ext4, not squashfs?

I'm experimenting with OpenWrt inside a QEMU VM on Mac M2 laptop, using the armsr/armv8 architecture.
Sysupgrade fails to preserve config files if my image is using generic-squashfs-combined.img.gz but works using generic-ext4-combined.img.gz.
Running sysupgrade on the serial console with a squashfs root file system yields this message, which is happening inside /lib/upgrade/ At the point of this failure it's too late to abort the sysupgrade, and the config files are lost.

Is it worthwhile to either check the file system type before starting sysupgrade and blocking it (unless not preserving config files), or to make work with either squashfs or ext4?

What does the platform upgrade on x86/64 do? Does it support both squashfs and ext4?


Sun Oct 15 12:45:17 UTC 2023 upgrade: Normal partition, doing DD
Sun Oct 15 12:45:19 UTC 2023 upgrade: Setting rootfs PARTUUID=bac680c6-900c-984b-47e7-6fe5ac104702
mount: mounting /dev/vda2 on /mnt failed: Invalid argument
umount: can't unmount /mnt: Invalid argument
Sun Oct 15 12:45:29 UTC 2023 upgrade: Upgrade completed
Sun Oct 15 12:45:30 UTC 2023 upgrade: Rebooting system...

code snippet:

platform_copy_config() {
        local partdev parttype=ext4

        if export_partdevice partdev 2; then
                mount -t $parttype -o rw,noatime "/dev/$partdev" /mnt
                cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE"
                umount /mnt
                v "ERROR: Unable to find partition to copy config data to"

        sleep 5