Maybe in a clean, smaller codebase with minimal dependencies.
But the textual inclusion means that including one header can suddenly break previously compiling code. Unless that header is completely inclusive, that can mean a while of chasing down transitive headers till you find the problematic one.
There are much more things going on in the module system that you'd have to know about if you care about what's actually going on.
So again, maybe if you have a smaller, cleaner or dependency free codebase, then it’s not an issue.
But in any codebase of major scale or legacy, headers can introduce several issues that aren’t possible with the module interface.
Headers are literal copy paste, and are entirely different. Anyone who has ever had to define WIN32_LEAN_AND_MEAN knows that there's _way_ more going on here.
Modules are a nice barrier to guard against side effects.
Surely you want your code to be portable to begin with?
Textual inclusion also allows a number of things modules do not.
The main disadvantage that they have, that they're stateful, is also true of module systems in many languages (e.g. python).