Sysupgrade -n still keeps files (CM4)

Using the imagebuilder v23.05.3 for the RPi CM4 (bcm2711), we have built a custom image (with extra packages and custom config files).

Image builder command:

make image PROFILE="rpi-4" PACKAGES="luci luci-app-ttyd tcpdump udp-broadcast-relay-redux" EXTRA_IMAGE_NAME="custom" FILES="files"

The custom files contain modified versions of /etc/config.

This works fine when first flashing the factory image onto it.
Although there was some issue with the /overlay/upper being mostly empty, but that seemed to fix itself.

But when we create another modified version, and run sysupgrade:

sysupgrade -v -n /tmp/openwrt-23.05.3-custom-bcm27xx-bcm2711-rpi-4-squashfs-sysupgrade.im
g.gz

Output:

Fri Mar 22 22:28:42 UTC 2024 upgrade: Reading partition table from bootdisk...
Fri Mar 22 22:28:42 UTC 2024 upgrade: Reading partition table from image...
Fri Mar 22 22:28:42 UTC 2024 upgrade: Commencing upgrade. Closing all shell sessions.

But for some reason not the the config files have changed. And /overlay/upper/etc/config still have the old files.

I found this issue, but it doesn't make any difference.

But if I run firstboot && reboot, this files are then updated and correct, with /overlay containing the correct files.

root@OpenWrt:~# firstboot && reboot
This will erase all settings and remove any installed packages. Are you sure? [N/y]
y
/dev/loop0 is mounted as /overlay, only erasing files
root@OpenWrt:~# client_loop: send disconnect: Connection reset

Is this a known issue, or have I misunderstood how you are meant to do a sysupgrade that resets all files?