Most devices that are 6+ years old (as far as I can tell) use C99. If not C89. And/or C++17, if that.
That's A LOT of devices out there. A lot of which still get maintenance and even get feature updates (I'm working on one right now, C99).
So the claim that "C codebases generally use C11 or C17, and C++ code bases use C++20" intuitively sounds like totally untrue to someone working in embedded C/C++. I've been doing this for 15+ years and I've never touched anything higher than C99 or C++17.
If you're talking about gaming, sure. But that's not "C code bases generally".
I cannot remember the last time I saw C99 used. C codebases generally use C11 or C17, and C++ code bases use C++20