If we go by the explanation from wikipedia [0], Boris Johnson and Nigel Farage would not be considered English, as their families are not part of the English or Celtic ethnic groups. Their ancestors are Turkish and German who came to the UK after 1850. Do you believe they are not English? I mean even the current King of the UK would not be considered English by your definition! He is descended from Greek, Danish and German people [1].
[0] https://en.wikipedia.org/wiki/English_people
[1] https://en.wikipedia.org/wiki/History_of_the_monarchy_of_the...