This morning I lost 25 dwarves from a ten goblin siege. They had superior armor. I told my units to become active. I designated a large burrow with plenty of supplies. as soon as the first dwarf went down they all fled outside to collect body parts and armor and random refuse.
I later realized that activating a unit does not activate the burrows. You must do those separately.................................. Now I know.
I'd also make a guess you should also bring up the standing orders with O and check for refuse/body parts collection options and turn those off during a siege. The default setting is, I believe, that they don't collect refuse from outdoors. If you have to, manually forbid the offending objects. I think the default for body parts is they do collect them.
I generally only rely on burrows to get civilians to safety. They're too confusing and unpredictable to use for much else, at least imo. I also use them sometimes for very specialized purposes. For instance, I'll burrow a strand extractor in a complex with their palatial suite of rooms, the craftsdwarf's workshop, and stockpiles for raw adamantine and the resulting threads. Or similarly a particularly important lever puller.
Another problem with burrows (even if you activate them) is the dwarves will still engage in the dumb behavior when body parts and other crap gets into the burrow area itself.
Trying to control dwarves in combat is one of the more frustrating things in the game. You can have one where 10 dwarves in crappy armor and junk weapons take on 100 goblins and beak dogs and trolls and smash them, then have another where 5 goblins somehow wreck your elite squad. The latter is usually due to some facepalm moment of course (gee maybe I should have actually hooked up that bridge to the lever).