Riiight the normals, didn’t at all think about those! You were much right about this being the reason for why the bevel is going in the wrong direction!
As for duplicate vertices or edges being crosslinked, it’s nothing that I’m able to spot with the Wireframe view + X-ray (which I should be able to do, right?)… And I’ve tried the box-select-and-merge-vertices-by-distance trick, thinking that could’ve been the cause for at least some of this.