Kaido likely knew Ace was Roger’s son, and he was a D, and Kaido would have definitely gotten the message that Ace wanted to take him down a free Wano.
Kaido said Luffy couldn’t be Joy Boy either, and I seemed like he was just talking about himself, but what if he meant Ace.
So when Ace got captured, Kaido left not looking for a fight with Whitebeard or the Marines, but to save Ace, so he could fight him in Wano and see if he really was Joy Boy.
But Kaido never made it to Marineford because he ran into Shanks. Even if Shanks’ crew was the strongest they couldn’t have beaten Kaido back and made it to the battle. So either the battle-crazed Kaido ran away from a fight, or Shanks told him something to make him reconsider.
Shanks told Kaido that Ace was not Joy Boy, that Luffy was, and they needed to let the War play out so that Ace would die and Luffy would grow/awaken.
Shanks sacrificed Ace to make Luffy Joy Boy, that’s why Shanks didn’t make a move until Ace was dead but stopped the war before Luffy died. Shanks knew Ace had to die and waited for it to happen before stepping in.
Shanks told Kaido to let Ace die, and I think Luffy might find about it and have to confront Shanks about it when they get to Elbaf.
*by XaNaMa