Now, arguably this is IRV functioning as designed, where the city's progressive wing could vote as a block without worrying about 2 candidates splitting the vote. It was very much non-intuitive, though, and a lot of London Breed supporters were quite pissed off. IRV allows you to "vote for a position" rather than "vote for a person", but many voters are still stuck in the "but....they got fewer votes!" mindset.
You meant after completing all the rounds of IRV, Mark Leno had more votes despite London Breed having more first place votes.
Which, yeah, is the whole point of IRV (and, with slight variations, most ranked ballots methods): a plurality winner that doesn't have broader support but ends up at the bottom of ballots not ranking them first shouldn't generally win over someone who has broader appeal just because the broad appeal splits first place support with another candidate.
> IRV allows you to "vote for a position" rather than "vote for a person", but many voters are still stuck in the "but....they got fewer votes!" mindset.
No, it lets you vote for a person, and also specify, “if not Alice, then my vote goes to Bob”. The winner in IRV is always the candidate with the most votes at the end of the process; reporting only first place votes as votes for the candidate is just wrong reporting of IRV counts.
Since then the second-tier candidates have done what you say about promoting each other: "vote for me and for X". If one loses, the other could win in the next round. IRV has a moderating influence on how candidates campaign. By making a bid for those later rounds viable, now everyone has an incentive to build strong coalitions before they even get into office.
Would another system work better? Maybe, but I still count it as an improvement over FPTP.