I understand all of that, but sometimes a designer makes something and you just have to code it. And underlines are pretty ugly, which is why you see so many different ways people create links on the web.
There are plenty of ways to make a link look like link without the underline, most of the time it's by using a different colour. Although I accept that isn't very accessible. Making something look like a button surely doesn't break any accessibility rules?
Just to add to this.
Do you not need the full stack for border-radius?