The best card is actually the Home Trust Visa. It's not a US dollar card but it has no foreign exchange fees and no annual cost. It also has 1% cash back.
https://www.hometrust.ca/
My thinking is even if you have a US card, like the BMO one, and a US bank account that when transferring money into your US bank account you're paying foreign exchange fees there anyway.
Although if you also get paid or have some sort of steady income in US dollars then of course a US bank account/card makes sense and the BMO is pretty good in that case (I have it). Only drawback is no rewards.