We tend to say anyone involved in the process can veto and I'd extend that to HR if they'd shown themselves to add to the process.
Work permit issues are entirely a reason to veto and they're better placed to spot that sort of thing that the dev team, similarly issues around references and the like.
The issue here isn't with HR per se, it's with a bad HR department overreaching, but personally I'd be just as skeptical about a technologist pointing to poor performance on a technical test (with good face to face interview results) as I would about this.
If you're trying to separate "face to face" performance and put that in the domain of HR, and "technical test" performance and put that in the domain of the technologists, then you're going to have a bad time. That prospective hire who did great on the face to face isn't going to spend part of every work day chatting with HR...
Between your technical people and your technical management, there should be enough people skills to function coherently and effectively as a team. As such, those people together should have enough people skills to figure out whether a prospective candidate has the people skills to function effectively in the team. If those people see people skills as exclusively the domain of HR, well then you made prior mistakes in hiring that cannot be remedied with further mistakes.
This is exactly the sort of mission confusion that results in HR departments overreaching. If HR sees itself as "the people people" and its role as evaluating candidates for "people skills" and engineering's role as evaluating candidates for "technical skills" that's an unworkable division of labor and will invite improper encroachment from HR into the hiring process.
What I'm saying is that putting too much faith in tests isn't just something HR do (I've seen people put far too much faith in technical tests), and that HR having a veto isn't per se a bad thing so long as they exercise it sensibly based on things within their expertise.
we tend to say okay, you say that, but any empirical evidence that this leads to better decisions? Especially when, as in this article, the only one saying no is the one unable to judge the person's ability to actually do the job?
It works for us because the people involved all understand the log jam it can cause if people don't behave properly but I can see in another company (or even division) it might not work. You would only need one or two people deciding they wanted to throw their weight around to wreck it.
Maybe I'm lucky but I've worked with some good HR people who understood where they could add value and where they should step back. To me this really feels like a good people / bad people thing rather than an HR people / technical people thing.