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. Kaido clearly knows more about Joy Boy than any other character and he seems to have been almost waiting for the past 20 years in Wano for someone to beat him.
I think one of the signs besides being a D and smiling, was Joy Boy or Nika having the power of Fire, and is supposed to reveal himself in Wano. Kaido’s Dragon powers give him fire, but he’s not Joy Boy, so he thought Roger’s son and Whitebeard’s 2nd Commander, who promised to come back to Wano and defeat him must be Joy Boy right…
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 by the end of Wano and have to confront Shanks about it when they get to Elbaf.