What's the goal?
To me, the goal is to get as many hands as possible to help fix bugs, so we can get the release out quickly and merge the branch back.
Branching early seems to detract from that goal in that it encourages people to continue working on new features, when they should be helping testing and bug fixing the release, so we can move on.
Branches are also painful, because bugs are going to be discovered, researched, and fixed twice, meaning wasted effort.
Ideally, I'd have all hands work on testing and bug fixing, and not branch at all until we have actually shipped 5.1.0.
Maybe we have different goals, or maybe I'm just being unrealistic.
It feels like the Bystander Apathy story, where if 1 person is watching a murder, they're likely to do something, but if 30 people are watching it, nobody does anything, because they all figure that someone else will do something, or maybe there's nothing to do, because if there were then surely someone would do it.
We need to get all hands involved in doing the grunt work of shipping. No bystanders, please!
I remember some dude once saying something like "Software is worthless until you ship it" 😉
/Lars