In my honest opinion, I don't think Oda fucked up as badly as people say, and I think many people simply did not understand Zoro's character progression and way of thinking.
Let's go back to pre-timeskip. Zoro was willing to die for his dream. This had been the case for almost all of pre-timeskip. Every time Zoro faced death, he gladly looked at it and smiled because his ambition to become the strongest was much stronger and more important than anything else for him.
But what happened then is that he changed. He now had a new goal: making Luffy the Pirate King, which now became even more important for him than his own goal. This is why Mihawk was disappointed at first, because in his mind, Zoro had lost his way. But Zoro reassured him that his goal of becoming the strongest had not changed and that he wanted Mihawk to train him so he could beat him one day, which made Mihawk laugh and think about that. For his friend, Zoro let go of his pride (most likely he remembered someone just like that).
So now we come to what actually happened. Yes, what Zoro said was true: he wants to be the strongest, but at the same time, he wants to make Luffy Pirate King. But here comes the problem, because now he has something that is even more important. He was not willing to go all the way to try to become the strongest anymore. He was not willing to die for his dream of becoming the strongest, which actually made him much weaker and hindered his potential and Haki.
That's what the theme in Wano was for Zoro. He was holding Enma back and pulling his Haki back because he was scared to die. But then, in the King fight, he started to understand that he had to go back to who he once was: someone willing to die for his own dream. He also understood that by doing exactly this, he would have a better chance of helping Luffy become Pirate King. This was the moment where, instead of his two dreams hindering each other, they both came together into one dream, where Zoro basically started to think that Luffy CAN'T become Pirate King unless he himself becomes WSS. So now his mindset is reset to what it once was.
Going back to Elbaf now and why he does not know he has CoC, the reason is because Zoro only used CoC because he was willing to die again and not hold anything back anymore. The ACoC he uses is basically him just putting everything he has into his attacks, including the Haki he himself does not know he has. This made it so that, yes, he was using ACoC, but the reason for it was simply his mindset of using his true power again.
Which goes back to what Mihawk said this chapter about CoC being the power to sense someone's own strength. Zoro did exactly that. He understood in Wano that he was holding back the whole time and started to go all out again.
Well, now that Zoro knows there is more to it than he thought, he can actually learn to use it. Because we know this from the Kaido fight: Kaido made fun of Luffy that even though he can use ACoC, the way he uses it is "crude and clumsy."
Now think about it: is it actually that badly written that Zoro, who did not have any information about what CoC feels like or how to control it, didn't understand that him going all out was actually him using ACoC?
Now he can start to actually master it, and I don't think this is as badly written as many people say.