May be in UK? I have a few Australians and South African friends here at university who are huge fans of both but rates root least out of the top 4 (Kohli, Williamson, Smith, Root) we have right now. Just on the mere fact that Root hasn't had any substantial score outside UK. However, I don't agree with that part. I do think Kohli is better than Root in fact he is currently the best batsman in world cricket in LIMITED OVERS format. Its a bit embarrassing when people argue on that because the consistency and dominance he has shown while batting for India in limited overs is amazing.
For you to judge someone as "unlikable cricketer", you first need to understand the culture that he is coming from. Kohli is from Delhi where an individual needs to keep fighting to earn their place and dignity whether it is cricket, work or life in general. That's an explanation of a typical Delhi guy and Kohli was brought up with that mentality and he is showcasing that at International level right now. The thing you also need to understand is that he does have a "superstar" tag here in India because cricket is so big here. In Indian team right now, the only other person with that tag is MS Dhoni. However, he is not there in tests right now, so all the attention is on Kohli. I remember in the T20 series we recently played in Australia, Kohli had a go at Smith after Smith got out. Everybody thought that Kohli was giving Smith a send off but what they didn't know is Smith consistently tried to sledge the likes of Hardik Pandya and Bumrah before. However, you wouldn't know that since Smith was not in focus at that time, it was Kohli. Whatever Kohli does becomes a news. You talked about Stokes as a "A humble northern lad who just likes batting and bowling". That is not the case if you are seeing him for first time outside UK. He comes across as an aggressive mother****er who will do anything to win a game for his team. However, you describe him as "humble northern lad" because you know his journey to national team and the culture that he is coming from. Kohli is a similar character as Stokes because they both will be the hardest working people in their team and will give absolutely anything to win for their team. Since Kohli has got the test captaincy officially, he has calmed down. However, people also need to realize that is not his nature and sometimes, that aggressive side will show up but what's important is he is trying to control himself for better.
So just saying that Kohli is a very "unlikable character" or "arrogant little twat" doesn't justify the fact that Root is better than him. You need to understand why he is like that and what has he done to overcome that since he has achieved success.