I’m not disagreeing with what you write, but I wanted to link to a post where the versioning scheme of ansible-core is explained. Basically every 2.x.0 release is a new major release in ansible-core’s versioning system. According to that the leading 2 will only get incremented if the internal architecture of ansible-core changes, which isn’t the case.
There also was some mention of retrospectively adding warnings to ansible-core 2.18 (or even earlier?) about implicit boolean conversion, but I don’t know what happened to that (I think @nitzmahone mentioned this on Matrix). Having that ASAP would improve the situation a lot.