1. If I'm understanding correctly (and maybe I'm not!), the criticism of the CoC was not seen as a CoC violation, it was seen as incompatible with the duty
of enforcing the CoC. (That is, the situation would have been very different from if a project member not on the TSC were criticizing the CoC.) There were, I think, other actions from the same person that were claimed to be CoC violations, and I don't know enough to have an opinion on whether those claims are accurate. But I don't think the act of criticizing the CoC was ever even
claimed to be one.
2. Even if it were, that would still only be a claim about this particular guy's approach to criticizing the CoC.
3. Even if it were a claim about all criticisms of the CoC, the vote failed. As far as I can tell, the scenario in reality is exactly the scenario you wish: someone on the TSC criticized the CoC, the TSC votes that this is totally fine.
(If you are now additionally arguing that TSC members should be barred from resigning from the TSC and then critiquing the decision on their private blog once no longer affiliated from the TSC, well, that does not seem like the pro-free-speech position.)