In general the only reason one might want to use stderr at all is for ad-hoc logging configuration at runtime. I don't think this makes much sense on an IoT device. This is up for discussion (at the next developers meeting or in a separate issue) however.

As for this concrete use:
It only serves to make the output parsing more complicated for the actual test as it needs to take special care of where the output comes from.
That is because native handles stderr differently then stdout.
The same kind of handling is not sensibly possible on any other platform because a UART only has one output stream. In that case the information whether the output happens to be in stderr or in stdout can only be known to the application on the device.

The prefix "ERROR" on the other hand is easy to parse for the test case and already contains all the additional information that could theoretically be gained if it came through stderr instead of stdout.