Changing monospace fonts system-wide
Add this to yours ~/.config/fontconfig/fonts.conf
file to set Font B as default monospace font
<match target="pattern">
<test name="family" qual="any">
<string>monospace</string>
</test>
<edit binding="strong" mode="prepend" name="family">
<string>Font B</string>
</edit>
</match>
Or to /etc/fonts/local.conf
to set it system-wide
I found this to be working:
gsettings set org.gnome.desktop.interface monospace-font-name 'Noto Mono 11'
(Probably not all apps, gedit changes instantly)