I think this is entierly the right approach. With smaller language footprint you have easier the code is to read and you will have less issues running the code on a wide variety of platforms. Many c99 features (like Variable Length Arrays) have been proven to be less than well designed and since been made optional.
Yes, VLA is bad, but declare anywhere is very desirable. curl can't move due to old MSVC, but once that is solved, it would make a lot of sense to move to C99. The post itself says "It is not a no to C99 forever".
Caveat re VLAs: while C23 doesn’t return VLAs to mandatory status, it does require variably modified types; so no stack space footgun but still a significant complication in the type system:
void foo(size_t n) { int a[n][n]; }
does not have to be supported outside C99 but
void bar(size_t n, void *p) { int (*pa)[n][n] = p; }
has to be in both C99 and C23 (though not in C11 or C17).