Maybe this helps someone, maybe not, but I received a Duet 3 and decided not to go with a Raspberry Pi. I tried updating the firmware repeatedly with various methods (except the erase and start all over).
I could connect to the Duet 3 through a web browser and upload firmware, but the Duet 3 would crash and reset as soon as the upload finished. Same thing happened via USB and trying to run M997 S0 with the new firmware on the SD card.
This happened with both 3.01RC2 and stable 3.0.
Finally, before I went the erase route, I took a Raspberry Pi and installed the Duet3 Pi image. Uploaded new firmware and it updated correctly and everything seems fine. Not sure what the issue was with the Duet 3 but maybe if you have the same issue you can try this method - I don't think you even need to keep using the Raspberry Pi with the Duet 3 once firmware is up to date.