I think people get caught up with power scaling too much in the scenes you mentioned.
Oda will ALWAYS display such things even with the top tiers for a specific goal he has in his mind either for plot purposes, or making a character shine, or protect characters from getting killed..etc!
Oda's concern with power scaling ONLY matters when it's a complete 1 vs 1 full match with an outcome! AND STILL, even then, Oda has constantly showed characters who progress mid-fight and turn from being the underdog into the winner of the match. Not to mention character traits also affect plot. For example, someone trollish like Kizaru can stay trolling for hours before finishing an enemy off rather than a hot-headed one like Akainu.
Also, Oda in my opinion makes power scaling very ambiguous with such moments BECAUSE it will make it easier for him to play with the plot if power scaling is not his major concern.
What I mean by that, if power scaling is the biggest major concern and not the plot itself, then it will make it hard for oda to make the enemy slip or make mistakes, and vise versa with main characters slipping and making the enemy get the upper hand which sometimes does NOT make sense considering we know what our crew is capable of doing.
So, I think Oda on purpose sometimes ignores the logic of power scaling simply because he wants his story to be more fluid and more easily manipulated so that no character is stronger than the plot itself hahaha.
Plot will always triumph over power scaling with One Piece
With that being said, Mihawk getting stalled by Vista was meant for:
1- Oda to make Vista shine, which reflects on WB commanders since Oda is making them shine in that arc
2- For Luffy to progress
Not to mention even Crocodile "who should be even weaker than Vista stalled Mihawk as well and never got defeated. for the same two reasons I mentioned above, Crocodile was shining in that war like a diamond, and he made Luffy progress.
It's one and the same for WB being able to attack Akainu after Ace's death, when in reality Kizaru was not allowing him before, where the fuck did Kizaru vanish? It's simply plot, Kizaru went missing, it was Oda's goal to make us see WB rampage after Ace's death.
Oda loves his story to be more easily manipulated and malleable, that's how he writes his story, and with BM and SH in that chapter was also the same, it showcased the SH crew shining as well as not allowing Big Mom to kill them cause the story is about SH crew hahaha
Which is why I think it's wrong to judge a character strength in anything other than a COMPLETE 1 vs 1 fight with a legitimate victor and clear outcome. Other than that, we can take guesses for their levels, but no guaratee of being true