Two branches having the same name doesn't mean that they're the same, and giving it the reflog history of something else is going to cause confusion at best.

Or consider `git branch foo && git branch -d foo && git branch foo/bar` (or their z`update-ref` equivalents. If we don't remove the reflog in the second command, we can't create the reflog for the third.

Losing the reflog information is indeed something that can be a bit troublesome, but we can't fix it by keeping it in the normal reflog namespace. We'd need an attic where the names/keys don't behave like files and directories.