Hi Helen,
My curiosity got the better of me (I usually don't let it!) and so I looked on SP at the 1804 baptism entry for John - and bingo!
1804, July 25, Baptized to Mr Murdo Macleod Cooper & Shipowner Stornoway a son named John
Surely must be your John!
The use of 'Mr' is significant - there's only one other chap on the page distinguished thus. I guess it implies that Murdo is a man of some importance. Incidentally, the words "& Shipowner Stornoway" have been inserted above the line in a different hand.
Some at least of the other baptisms in Stornoway with father Murdo are surely the same family - but I'll resist the temptation to look!
In the IGI, the Stornoway batch is C110882 which goes from 1762 to 1860 (you'll see this at the bottom of the screen if you search for - say - Dugald MCLEOD, father Murdo MCLEOD).
There are quite a few McLeod baptisms with father Murdo or variant between 1797 (year of the marriage) and 1821 (year following his death).
Go to the IGI, enter Murdo and Mcleod in the father boxes, enter 1811 in the year box, select +/- 10 in the range, select British Isles, and enter C110882 in the batch box. Don't enter anything else.
This covers the years 1801-1821 inclusive and brings up 20 records (representing 14 persons as some of the later entries have both birth and baptism recorded). The father's name is variously Murdo, Murdoch and Murdh.
To cover the remaining years do the same search but with 1799 in the year box, and range +/- 2. It brings up no records. Indeed there's only one MCLEOD birth/baptism in the whole batch earlier than 1804 - and that's a William, father Colin, in 1783.
JAP