"Who was supporting Brexit, other than a former mayor (Boris Johnson) and the leader of a fairly small and disliked party (Nigel Farage)?"
I would like to pick up on the final words of your question referring to the apparent paradox between UKIP being a "fairly small and disliked party", and the fact that its signature policy, "Brexit", won the referendum.
UKIP is indeed disliked by many - it is political Marmite - but substantial numbers must have liked something about it. According to the Wikipedia page on the UK general election of 2015, UKIP ranked third in that election in terms of numbers of votes received. The Conservatives got 11.3 million, Labour 9.3 million and UKIP 3.9 million. Presumably that "something" that attracted the 3.9 million was UKIP's main and only significant policy offering, rather than love for a newish party that had managed to be notably fractious in its short history.
UKIP got a respectable share of the General Election vote despite two factors that worked against it:
the first factor was that it was obvious that in the UK's First Past The Post electoral system UKIP's geographically dispersed support would not translate into Parliamentary seats. As things turned out the divergence between number of votes cast and number of seats won was extreme: UKIP's 3.9 million votes resulted in just one seat while the Liberal Democrats got 8 seats on a vote of 2.4 million and the Scottish National Party got 56 seats on a vote of 1.5 million.
the second factor was that UKIP was (and may still be) seen as a single-issue party rather than a plausible government in waiting. Many voters in the GE might well have agreed with UKIP's desire to leave the EU, but they ranked that issue low on their list of priorities. In a general election most voters would decide who to vote for on political, economic or personal criteria unrelated to the question of EU membership.
When it came to the referendum neither of these suppressing factors mattered. Every vote counted equally. The single issue that was UKIP's raison d'être was the only question on the ballot.
According to the polling organisation YouGov, 95% of those who voted UKIP in 2015 voted Leave in the referendum. So apart from the mischievous 5% of UKIP Remainers, that chunk of vote was delivered straight to Leave. I don't have time at the moment to look at the other parties but I will just quote the same piece from YouGov (emphasis added):
The vote on Britain's membership of the European Union cut across
party lines, with significant division within Britain's main political
parties. Conservatives voted to Leave, 61% to 39%. Labour voters (65%)
and Liberal Democrats (68%) largely voted for Remain but significant
minorities went for Leave. Only UKIP, where 95% voted for Leave, and
the Greens, where 80% voted for Remain, avoided significant internal
divisions on the vote.
To sum up, in addition to practically all UKIP voters, a majority of Conservative voters disagreed with their party's Remain stance, as did large minorities of Labour and, surprisingly, Liberal Democrats. Lord Ashcroft's polling company gives similar results and adds that 36% of SNP voters disagreed with the stance of their party and of Scotland as a whole in favour of Remain.