Hi,
What you have is normal.
If you don't set any warehouse restriction to the USA restricted shipping method, it means that it applies for all the products regardless of their warehouse.
So you would have to create a USA warehouse, and assign the products you want to ship only to the USA in that warehouse so that the shipping method would only display for them.
In your case, I actually wouldn't use warehouses at all.
I would have only shipping methods with the "shipping price per product" setting turned on and then, in each product, in the "shipping prices" area, I would use the "block" checkbox for the shipping method I wouldn't want to be available when the product is in the cart.
That way, I would just have to block the USA shipping method for products to be shipped to Canada only, and vice-versa and the rest would be handled automatically.