The Rocks defeat was a propaganda tho
- It was mentioned that the Rocks internally destroyed each other and we saw Linlin calling out Kaido in a small flashback and was clean as if they weren't even involved
- The government covered up the fact Roger pirates were involved, and we know they have the habit to do that a bit like Smoker with Crocodile in Alabasta where they covered up the fact it was Luffy who defeated him
- It was mentioned that Rocks was Roger's foe, and Garp himself doesn't like talking about that incident, so I'd not be surprised if the reality was that it was Roger who did the heavy lifting, but the government covered it up to make a marine take the glory, which would also ultimately mean that his "marine hero" title is based on a fake propaganda