How I read your post:
My kids were scrambling up the stairs, something happened, and DS hit DD. I exploded at DS, did not attempt to get his side of the story, and, after a bath, threw him in a dark room with no further parental contact for the night including no chance to debrief the incident, acknowledge his feelings, and talk about why what he did was wrong. I was especially upset because my daughter's physical appearance is of primary importance to me and something I fixate on. She is a fragile girl, who I need to protect, and only later did I realize she may have been partially at fault, at which point I yelled at her too (and now I feel bad about that; far worse than I feel about yelling at her younger brother).
Of course, I'm probably reading way too much into your post, but if things transpired anything like the scenario above, I think you could do much better in many areas.
Sure, I've lost it at my kids too, especially when they fight (which is pretty rare). I've sent them to their rooms, and don't give them a chance to justify themselves in the moment during sibling squabbles, but I always go in a little later, give hugs, and talk about what happened and how things could have gone better. If I feel I over-reacted (and pulling a kid into a room forcefully would count) I apologize, but explain why I reacted so strongly. Seeing a parent lose it can be pretty traumatic for a 5 year old. Often if they hold it together or act like they don't care, it's when I come in to cuddle and talk about what happened that they show how upset the whole thing made them. Siblings will fight. The incident you describe is worth punishment, but I don't think you handled it well.