Lots of Unix style tools (ab)use stderr for non-error output, just to avoid mixing informational bits with other things in stdout or for separating machine-processable output from what is meant for humans.
A lot of Unix ideas were based on explicitly bringing humans close to the system though, being heavily based on text.
I think the semantics of those two streams, stdout and stderr, are outdated.
Does it make sense for the OS/runtime to provide specific log levels / semantics anyway?
The thing is, spawning another tool and parsing its output is super non-ergonomic.
The best that can happen is some form of structured logging, such as linewise logging.
Having to look at status (exit code) and two streams still feels weird. And it's always specific to what tool is spawned.