It's often useful to view the originals of Dundee baptisms because they sometimes tell you explicitly who the child was named after, not just who the witnesses were. By all means have a look at the extracts of all the baptisms on FreeREG, but it's also a good idea to check the originals at Scotland's People. See screenshot.
I wonder why, if Elspet's father's name was David, she didn't name a child David? Could there have been an older, unrecorded, child between the marriage in February 1790 and the baptism of John in May 1793?
It's also curious (to me, at least) that in spite of there being 7 known children between 1790 and 1810, none of them, so it seems, died in Dundee or Angus or the Lowland counties after 1855. I'd have expected one or two to survive and stay in the area. Did they all die young? Or did they all emigrate? Or did they all move north into the Highlands (unlikely, if their mother died in Dundee when they were all adults)?