TBH I don't care too much what someone does with a button or link, but if hold Ctrl and it doesn't open in a new tab, I'm gonna be grumpy.
(I could mention one that works, but that will eventually of course just compound the problem. So my secret fishing spot remains secret ;-)
The golden rule is that if a button opens a link to a page that has its own URL, it should be a plain anchor tag.
You can apply whatever JavaScript on top of it to “ajaxify” it, as long as you ignore altered clicks (ctrl, cmd, shift, etc)