First, there is no birth certificate, because birth certificates did not exist until civil registration began in 1855.
The best you can hope for would be a record of baptism, but, realistically, if you have drawn a complete blank at Scotland's People, any such record, if it ever existed, has not survived.
As for the 1840 marriage, the most likely explanation is that this is a different couple with the same names. Both Alexander M(a)ckenzie and Ann(e) M(a)cLeod are very common names. There are actually four such marriages on record between 1819 and 1841.
A couple named Alexander Mackenzie and Ann MacLeod had a son Alexander, baptised in Assynt in 1833, and a son Kenneth, baptised in Assynt in 1836. In 1841 this family was living at Elphin in Assynt, Alexander and Ann both recorded as 35, i.e. born between 1801 and 1806. Is this yet another couple with the same names, or is this the couple whose marriage is recorded in 1840? If the latter, Ann is clearly not the mother of Hugh Kerr, who was several years older than she was. What does the marriage record actually say?
As for the census, I see that you have listed (supposed) years of birth. The original census never states a year of birth. It gives the age the person claimed to be on the date of the census. As the census was taken about a quarter of the way through the year, you get the wrong birth year three-quarters of the time if you subtract the person's age from the census year. For reasons I fail to understand, most of the web sites that have census transcriptions introduce an error by doing exactly that - adding a piece of 75% inaccurate information to what is actually in the original document.
Also, in 1801, adults' ages were supposed to be rounded down to the nearest 5 years.
In 1841, Hugh is recorded as aged 40, so if that is accurate he was born between 1796 and 1801
In 1851, he is recorded as aged 54, so if that is accurate he was born in 1796 or 1797
In 1861, he is recorded as aged 63, so if that is accurate he was born in 1797 or 1798
In 1871, he is recorded as aged 73, so if that is accurate he was born in 1797 or 1798
In 1881, he is recorded as aged 80, so if that is accurate he was born in 1800 or 1801
As these dates do not all overlap, clearly at least one of them is not accurate. Probably the 1881 age, as all the rest are consistent.
So it does look as if he was born about 1797. Unfortunately the surviving register of baptisms for the parish of Assynt starts in 1798, so quite possibly after Hugh's baptism.
However .... I note that Hugh's first child was Murdoch. Have you viewed Murdoch's baptism (and those of his siblings) to see whether or not the names of any witnesses are recorded? If so, they often provide clues to other members of the wider family. See screenshot.
If (and it's a big if) Hugh and Janet followed the naming tradition, I'd expect Hugh's parents' names to be Murdoch and Marion (Merran), and Janet's to be Alexander and Jean. Who registered the deaths of Hugh and Janet?