I ran into the same problem and by the time I found this post I had tried various js click pass-throughs and it was getting ugly.
Here is a css-only approach to fix font-awesome and other a.button conflicts of that nature.
a.button * { pointer-events:none; }
Since anchors are almost always the click targets for a user pointer perspective, it makes no sense that any thing within the anchor would catch pointer interactions.
If you’re a genius and created a design that uses nested link elements you could further specialize the selector a.button :not(a):not(button)… Not recommended at all though!