Zoro’s final opponent cannot be Mihawk unless there’s a huge twist and he joins up with Blackbeard or somehow ends up on the Government side again.
It doesn’t matter what Zoro or Mihawk promised. He does not work as a final villain as things stand. He is neither villainous nor connected in any way to what will be the Strawhats final fight.
If anyone is thinking that Zoro‘s role in the final war will to be having a selfish fight that has nothing to do with the worldwide conflict- and that’s what a fight with Mihawk is- then they have let their fanboyism blind them to every piece of character development that Zoro has went through. Zoro puts Luffy first. He puts Luffy before himself. That’s the point of Thriller Bark and him begging Mihawk for training. That’s part of what makes him Luffy‘s right hand man.
Zoro’s final fight, in the final war, has to be against an opponent at odds at with Luffy. The consequences of Zoro losing that fight have to be catastrophic, not just for Zoro, but for Luffy, and the world. This goes for every Strawhat. Mihawk is, franky, too much a “good“ character to match those stakes. He’s not someone who’s going to join Blackbeard in a reign of terror or reconquer the world for Imu if he beats Zoro. The worst that happens if he beats Zoro is Zoro dies- and Zoro would find that perfectly fair. But what would Mihawk do after it? He’d go back to his farm disappointed and wait for the next challenger to arise. That’s not something to get excited about when everyone else on the Strawhats is fighting for the sake of the entire planet.
As for the promise, there’s an even more important one, Luffy returning his hat to Shanks, and it wouldn’t at all surprise me if there’s some tragedy in the lines there so that doesn’t happen. Cause Strawhat Luffy without the Strawhat doesn‘t seem likely.
Now, this doesn’t mean that Zoro vs Mihawk can’t happen. It just won’t be the final fight Zoro has. I imagine that Oda will give us some sort of payoff for Luffy and Shanks and Zoro and Mihawk. Zoro vs Mihawk could happen before the final arc and have Zoro still heavily injured as a result for his final fight. They could fight and get interrupted. They could fight and Mihawk could win, again, and then lose, so we know that Zoro’s final struggle will be even harder. Franky, I don’t care about the promise between them, if it getting broken makes a better fight- and it probably does after the two of them spent two years together- then let it be broken. As long as Zoro ends up on top, I don’t care if he suffers setbacks on the way.
As for the idea that Oda has somehow betrayed the fans or something on the odd chance that Zoro doesn’t fight Mihawk again, it’s nonsense. Might as well say he betrayed the fans because he let Ace die after two arcs aimed at saving him. He only betrays the fans if Zoro and Mihawk turn out to be weak, and anyone who thinks that’ll happen despite Oda’s wanking of Zoro in Wano in particular is nuts.
And there’s also the idea that Zoro vs Mihawk is going to be some kind of epilogue fight- absolutely zero chance, the final real fight we see in One Piece will be Luffy’s in the final war.
Shiryu and Gandhi are the only two options for Zoro’s final fight, because Blackbeard and Imu are the only two options for Luffy. The Admirals are too disconnected (and, I’d argue, also fail to be villainous enough, Sakazuki aside) from the real rulers of the world, Imu and the Gorosei. It‘s either the Blackbeard Pirates seeking to bring about a new age of anarchy with Blackbeard on the Empty Throne ruling a world of chaos, or the Strawhats overthrowing the centuries old regime and it’s shadow king. Mihawk just doesn’t fit in either story.