My genuine belief is that Boris Johnson was never personally pro- Brexit because he doesn’t have any principles. Once he got into power years later, he desperately needed pro-Brexiteers around him to make it happen (by making it up as they went along) whatever ‘it’ needed to look like at the time.
What I believe happened in 2016 was that Johnson simply self servingly saw an opportunity to challenge David Cameron’s leadership, by coming out himself for ‘Remain’ by at the 11th hour. By giving his name to the Brexit campaign he was just trying to gain favour from some extreme parts of his party and electorate. He was assuming that the Remain moderates backing Cameron would actually win. He just wanted a bit of the support Farage was getting and that Cameron was losing.
Unfortunately his support as a recognisable Tory MP who also had a presence for people who just knew him as a funny guy on the tv gave some legitimacy to the Brexiters. I can imagine that voting ‘Boris’ way’ in the Ref would have entertained some of the floating voters who thought Johnson was a good laugh and just wanted to stick two fingers up at the current government but who didn’t really care either way about leaving the EU. Or ones who disliked Cameron and austerity and relied on the fact that others would vote remain to make a protest vote. So that small section of the last-minute Brexit vote outcome I do blame Johnson personally for.
Back then I’m pretty sure that Johnson would have reasonably thought that no voting majority in the UK would be stupid enough to vote for such a terrible idea as Brexit. Lots of people thought that way.
So (as we see time and time again in the Tories) it was another case of putting Self first, but then putting Party before Country next. An internal parliamentary party political game was being played, for personal gain, against the backdrop of an existing internal Tory party struggle.
And judging by what we’ve seen since of his chaotic and unprincipled character, I am really convinced Johnson was just self-servingly putting his hat in the ring as a future party leader in 2016. He doesn’t think ahead. He doesn’t want to leave the EU.
He just wanted to be seen to attract a few Brexit votes and to been admired for reducing the expected Remain majority for Cameron. He just wanted to be a future contender.