Have just spent an evening working on this - like these little mysteries!
I completely agree that the link here is Errol, Perthshire and not Dundee - however, it's a somewhat confusing story.
Starting with William Haggart himself - I am sure that a) he was 3 years older than he said (he was a fair bit older that his wife) and b) that the day of the month he was born is not as shown on a census. I feel certain that he is the William Haggart b.30/6/1864 Errol, Perthshire, son of Thomas Haggart and Isabella Gellatley - his birth was registered by his mother and the date of parents marriage is shown as 7th December 1857 Perth.
2nd bit of confusion - Thomas Haggart did indeed marry 7/12/1857 (as a widower aged 43 & a Salmon Fisher) but certificate shows her to be Margt. (?) Gellatly. All their childrens births show her as Isabel/Isabella so can only assume this was an error on behalf of the cleric at the time. Her parents are shown as - wait for it - Reputed father Thomas Wood, Shoemaker and Margaret Gellatly who were clearly unmarried. So, was Allison Wood who married David Powrie 11/1/1853 Errol a sister or half-sister of Isabella?
Thomas Haggart is still unmarried on 1851 census (transcribed as Thomis Hagart) when shown as a Fisherman (which ties in with occupation at 2nd marriage).
The only marriage I can find is one mentioned before - Thomas Haggart married to Isabel Haggart 25/2/1853 Errol. In fact, it is the very next entry after the marriage of David Powrie and Allison Wood. Confusingly, both David and Thomas are shown as Weavers!! There doesn't appear to have been any children from Thomas' first marriage.
(Looby - the William Haggart in 1901 has age recorded wrongly on ancestry - should read 33 not 38! He is unmarried and his older sister Jane is a housekeeper. Their parents were Peter and Catherine Haggart.)
To go back to William Haggart b.1864, son of Thomas and Isabella. There is no further trace of him in Scotland after 1881 census which ties in with your man popping up in Canada.
I can't explain the anomalies here but I feel 99.9% certain that this is your man.
Annette