After some “attempts and errors”, I found a solution that works. But I'm sure there is a more elegant way. Feel free to point me in the right direction. My solution is to replace the new span back with a u-tag in the onSave event:
ed.onSaveContent.add(function(ed, o) {
o.content = o.content.replace(/<span style="text-decoration: ?underline;">(.*?)<\/span>/gi, "<u>$1</u>");
});
legacyoutput. , , legacyplugin , , .