In 1841 on the Isle of Coll he is listed as being 60 years old.
In the 1841 census, adults' ages were suposed to be rounded down to the nearest 5 years. So someone listed as aged 60 could have been anything from 60 to 64, and assuming that his ager is accurate he would therefore have been born between 8 June 1776 and 7 June 1781.
In 1851 also at Coll he is listed as being 75 years old.
If accurate that would imply a birth between 31 March 1775 and 30 March 1776.
As these two sets of dates do not overlap, at least one of them is definitely wrong.
On his death record in 1857, his son registers his age as 90 years old.
That, if accurate, would imply a birth in 1766 or 1767.
On a Chelsea Pensioner record I have for a possible match of a John McKenzie born in 'Tyrie'
Be aware that Tyrie is a parish in Aberdeenshire as well as an alternative spelling for the Hebridean island of Tiree, next to the isle of Coll.
in 1814, he is 42
If accurate, implying a birth in 1771 or 1772
and the other possible Chelsea Pensioner record I have for a John McKenzie born in 'Tobermorra', also in 1814, he is 41.
If accurate, implying a birth in 1772 or 1773.
If he is the 75-year-old John McKenzie, Chelsea Pensioner, at Arinagour with wife Betsey, son John, daughter-in-law Annabella and daughter Catharine, the transcription I am looking at says that he was born in the parish of Canongate in the county of Midlothian. The census index at FamilySearch says he was born in Edinburgh. Canongate parish is in the city of Edinburgh. What does the original census say?
On the other hand the 1851 census says that Betsey, John jr and Catherine were born in Argyll, but the 1841 says that John Sr was born in Argyll, but Betty and John Jr were not. Also there seem to be two 60-year-old John McKenzies, both army pensioners, living in Arinagour in 1841.
On his Death record his son Donald lists John's parents as John & Peggy MacKenzie.
Peggy is a pet name for Margaret. Does it say "Peggy McKenzie MS McKenzie" and if not, what exactly does it say?