There is no easy way to make inline line-breaking work within braces (display math can still break within the braces, so I assume you are talking about in-line breaks). You can remove the braces using the configuration
loader: {load: ['[tex]/mhchem']},
tex: {packages: {'[+]': ['mhchem']}},
const ce = MathJax._.input.tex.MapHandler.MapHandler.getMap('mhchem').lookup('ce');
const machine = ce._func;
function myMachine(parser, name, type) {
machine(parser, name, type);
let mhchem = parser.GetArgument(name);
parser.string = mhchem + ' ' + parser.string.slice(parser.i);
MathJax.startup.defaultReady();
I don't think there is any loss to doing this in MathJax.
Note that you do not need to use \allowbreak for things like \ce{A -> B} if you do this, as the \longrightarrow that is used here is already a valid breakpoint for inline breaks (at least for before the arrow, you may want one after it).
Davide