Exploiting my attempt at unpacking the DFUs, I’ve confronted in hexer your dso.bin and the
seeed_app_v2.5e.dfu.target0.image0.bin
.
The working (IAR) one has 442 bytes before those produced by the .text segment - maybe we just need to copy also .isr_vector segment into the .bin file?
Antonio