Let me start by saying there is no doubt to me, as a Canadian, that Canada does not spend what it should for its own defence.
The question which needs to be asked, though, is to what extent does the US benefit by its defence of those countries who are not paying their "fair share." Because if the US does benefit, directly or indirectly, there is a motive on their part to keep the game going, thus enabling the very people they are criticizing.
One obvious direct benefit is the sale of military hardware to foreign countries, which helps the US both directly (employment, taxes, etc) and by heaping with a trade balance of payments. Allies tend to buy military hardware from allies, and this is a pretty competitive market.
The other advantage (which might have been greater at one time than it is currently) is that helping to defend allies avoids having battles brought to your borders. If, for example, Canada were to decide that its future lay more with Russia than with the US - not completely far fetched since socialists like our Prime Minister and the Russians have more in common than Trudeau and Trump - would the US think that was a good idea, a bad idea, or would they be neutral about it? If the US thought that was a bad idea (which I think is likely), is there an amount of money the US would spend to avoid that possibility? And if so, what would that amount be? Note that this amount, which could be characterized as the US helping to defend Canada, would in fact be an amount spent by the US in pursuit of its own interests, even if it did have the effect of helping to defend Canada. The result of this is that the US would likely spend the same regardless of what Canada spent, since keeping friends as friends would, in this scenario, be in your own best interests, even if you paid no mind to the interests of those friends.
In other words, these issues are more complicated than a simple mathematical exercise would lead you to believe.
Let me end by saying there is no doubt to me, as a Canadian, that Canada does not spend what it should for its own defence.