If he was adopted, his birth surname may not have been Keil(l). Have you checked for a birth under the surname Reid? Did you check for plain Thomas Keil(l)?
Also, the original of the census does not tell you the year of birth. It tells you the age the person was said to be on the date of the census. The 1901 census was taken on 31 March. Therefore a person aged 10 on the 1901 census would have been born between 1 April 1890 and 31 March 1891, not 'in 1891'. Because the census was usually taken around the end of March, 'calculating' a year of birth by subtracting the age from the year of the census gives you the wrong answer three times out of four. So have you checked for a birth in 1890?
Assuming his age is actually correct in 1901, he should be in the 1891 census as a baby. Have you tried that?
So, we have (presumably) a 10-year-old child in the 1901 census in Elgin, birthplace given as Glasgow. Does the household contain a cousin who could possibly be his adoptive parent?
Then he gets married in Alves in 1919. What was his age according to the marriage certificate, and what were the names of his parents? This last seems to me to be essential information, because even if you did find a birth of Thomas Keil(l) or Thomas Reid in Glasgow in 1890-1891, how could you be sure it was the right Thomas Keil(l)?
Did he die in Scotland? If so, do the names of his parents on the death certificate match those on his marriage certificate? Because if not they might provide a clue.