Hello,
I don’t have experience doing an import, so I can’t comment, but hopefully others can.
I do have experience working with address data in OSM, so I will comment on this:
IMO, addr:city=Hamilton
is not needed. Hamilton has a well-defined border in OSM (Relation: Hamilton (7034910) | OpenStreetMap) that OSM tools can use to figure out the city (e.g. in Nominatim: https://www.openstreetmap.org/search?lat=43.265048&lon=-79.947751&zoom=19). Same with province.
What could be beneficial is including the community (Dundas, Stoney Creek, etc) in addr:suburb
tag. I see it in the open data as the COMMUNITY
field. In OSM we have nodes for them (e.g. Node: Dundas (249641649) | OpenStreetMap), but not areas. It looks like there are some duplicate street addresses within Hamilton (e.g. Node: 1 King Street East (9405898132) | OpenStreetMap and Node: 1 King Street East (907786134) | OpenStreetMap) so having the disambiguating addr:suburb
would help.
The postal codes would be extremely useful. Please do include them whenever you can. The six-character postal codes are generally not freely available in Canada (Canada Post wants you to buy them), so if Hamilton is making them available under an open license (and I do see them in the open data preview), it would be fantastic to include them into OSM.