@fogman4 This looks suspicious.

choose --default os.Debian.10.9 Live via ftp --timeout 3000 target && goto ${target}

The tag name should not have spaces. Looking at the actual menu item

param sysuuid ${uuid} :os.Debian.10.9_Live_via_ftp kernel tftp://${fog-ip}/os/debian/vmlinuz initrd tftp://${fog-ip}/os/debian/initrd imgargs vmlinuz initrd=initrd boot=live components fetch=ftp://${fog-ip}/filesystem.squashfs

I wonder if the underscores are breaking the default option.

:os.Debian.10.9_Live_via_ftp

They are translating to white space characters. Use dashes or dots in the tag name and see if that fixes it.