What C variations have given safe system programming for many years? I'm not sure I know of any.
So anyway, what subset of C allows the use of dynamic heap memory allocation and enforces safety?
That's true, and I know you are not claiming this, but MISRA C is neither memory nor thread safe, which is what we are talking about here.
Writing MISRA C code with data-races is trivial, and no "linter" for it finds those.