I would add that one benefit of a USD CC is that you can return/exchange without paying the exchange fees on both transactions. If you are booking a high dollar vacation at Disney, and there is a possibility that you will cancel or heavily alter your itinerary you could get slammed with exchange fees on the purchase and again on the refund on a C$ card. There was a story here long ago where a Disney CM refunded the entire vacation and then rebooked because of major changes. Poor unsuspecting Canadian card holder paid the exchange 3 times.
But yes, you will still pay forex fees when converting your C$ to your US$ account to pay the bill for your US$ card with the bank package, and to avoid the double fee above, you would have to carry the balance of the vacation on the card, paying interest until you were sure you wanted to settle. Note that the US banking packages often have a monthly account fee as well that whittles down the value pretty quickly if you don't use it a lot.
I just use a C$ CC with cash back percentage that more than covers the forex fee. It is (to me) the EASIEST solution - I don't have to be playing complex games to convert money and can just pay my monthly bill through my bank (I use the same card for lots of US sourced online shopping as well). This does not provide any benefit on returns however as you lose the cash back and end up paying the forex on both the purchase and return transactions.