There's another major shortcoming with using monitoring for output that hasn't yet been mentioned here: OBS will not fade audio in and out on the monitored version of the audio. Additionally, any audio media sources with "Restart playback when source becomes active" UNchecked will continue playing through the monitor even when they are not visible in the current scene.
The only way around this that I have found is to use an NDI virtual output plugin for OBS with an NDI virtual input app, to capture the actual OBS audio output (NOT monitor) as a distinct audio input that can then be routed as desired using the tools described above. The problem then is latency -- there's a lot of latency overhead associated with the NDI conversion. So if you are using NDI audio with direct video capture from OBS, they will be out of sync unless corrected. Using the both audio and video from NDI will be in synch with one another, of course, so this will depend on your application.
If accurate monitoring of audio fade-in/out is important to you, please upvote the feature suggestion: https://ideas.obsproject.com/posts/37/fade-audio-when-you-transition-scenes
Totally agree. I wish there were a virtual audio output option similar to virtual cam. In fact I wish there were multiple virtual audio outs so that I could create a live mix for stream and then have a multi-track recording that I could edit in post that capture other audio sources that I have muted for stream.