Although your grandfather may have served in the 2nd Anglo-Boer War with the Royal Highlanders (Black Watch) whoever told you that photograph is of a soldier of that regiment is completely wrong.
There were 3 styles of glengarry cap worn by various Scottish regiments, a plain one, one with a bi-coloured red & white dicing (unique to the Argyll & Sutherland Highlanders) and the 3rd version had tri-coloured dicing, most were red/white with a dark blue square in the centre of the cross, but a few regiments had a rifle green square.
In the picture the glengarry’s band is tri-colour, so that certainly eliminates the Royal Highlanders (Black Watch) who wore a plain glengarry.
Of the other two you mentioned, the Seaforth Highlanders wore the tri-colour glengarry but that cap badge definitely isn’t their badge (stag’s head) and the Border Regiment was from south of Hadrian’s wall i.e. was an English county regiment and didn’t wear the Glengarry; perhaps that should have been the King’s Own Scottish Borderers, even so the badge isn’t theirs.
There’s only one Scottish regiment of the WWI period that wore a tri-colour diced Glengarry with a badge that size and shape, the Royal Scots Fusiliers; I’m certain it’s their flaming grenade badge in use 1901-1959.
The khaki SD uniform is from 1902 at the earliest and lack of collar badges makes it more likely WWI era, and as the person isn’t wearing any medals it seems unlikely he received the Queen’s South Africa Medal from the Boer War.
You can read a description of the Black Watch & Seaforth Highlanders kilt, glengarry and badges (scroll down for images of badges) at
http://www.scottishmilitarydisasters.com/index.php/titles-sp... but as the RSF wasn’t kilted their WWI era badge isn’t shown but it was the same as WW2, see attached.