So, I've fixed the issue by updating the FixXhtmlFragment method in XhtmlTransformations.asmx to include
.Replace(" ", " ");
in: private static string FixXhtmlFragment(string xhtmlFragment)
{
xhtmlFragment = Regex.Replace(xhtmlFragment, @"(\s)\r\n</script>", "$1</script>", RegexOptions.Multiline);
return xhtmlFragment.Replace("\xA0", " ").Replace(" ", " ").Replace("&nbsp;", " ");
}
...but it seems like a hack, any ideas why this would happen in the first place?