I've been reading this code while working on T313841 (trying to remove the uses of $wgCommandLineMode) and I noticed that MWException::report() and MWExceptionRenderer::output() do mostly the same things. It seems that MWExceptionRenderer is able to handle any exception type, so surely it should handle MWException too. (But note that there are interesting subclasses like ErrorPageError which probably still need something special.)
I looked at some commits that introduced this code, and making changes like this has already been suggested in code review of https://gerrit.wikimedia.org/r/c/mediawiki/core/+/463308 in 2018.