Why isn't the normal of an edge the median between its adjacent faces?

Scenario 1, what determines the seemingly random angle of this line:

(Here’s how I’d expect the normals to orient:)

Scenario 2, again, what determines the random offset angle of this line:


(Again, here’s what I would expect it to look:)


Where does this random looking rotation to the edge normals, compared to its adjacent face(s) come from?

It’s really annoying to have to select a face and add a custom transform orientation and then go back to the edge, every time you want to make a normal transform operation on an edge.

It uses purely the edge, not any adjacent faces. This would be good to improve once.