I can’t help but have the impression that the issue is being approached from the wrong side in.
One thing that bothers me is seeing “remove for mobile”
This makes me think that the <br> is being used to affect how a browser displays the content and not because it signifies a break.
Anyway, as I see it, the problem is that the WYSIWYG is adding breaks when it shouldn’t be.
OK, sure, CSS or JavaScript could be used to remove the break from the DOM. But it seems to me the better approach would be to not have the break get there in the first place.
I was a little puzzled as to why the OP wants the breaks to disappear on mobile.
I could understand it the other way around, adding a break for a smaller screen. Though of course natural word wrapping should do that, though there are cases where you want to control where a header breaks for design purposes. for that I use spans set to display: inline-block to ‘glue’ groups of words together.
Though the problem with the op is the cms not giving complete absolute control over the code, a luxury us hand-coders take for granted (why we don’t use cms ).