This is the expected behavior.
At runtime (send time) the HTML is not down-shifted into a text representation. Nor, in a wide range of cases, would you want it to be. Try running textContent() on a link that wraps text, for example. You'll get all the inner text, including carriage returns, and none of the HTML-based formatting, like margins and paragraph containers, that stops words from running together. It's not a conversion that's safe to make without hand-editing (you can still edit the text version of an email, but you wouldn't ever be able to edit the automatic text-ifying of an HTML token).
So the quick fix is to have a Text token that has similar content....if you don't want to fix the code or script anything.