So, it is not just that those platforms may have different semantics, it is that those platforms probably have the right semantics.
I'm less convinced, having lived through a couple of big revisions of Parrot and what eventually became Raku. One reason Raku remains so stubbornly slow is because it insists on having a grammar so extensible that you can't even assume a single definition of whitespace.
When you bake the assumption that every call to the tokenizer has to be a virtual method into either the language specification or the implementation, you're going to expose the results of that assumption to everything.