Unlike other browser, Safari seems to create a separate text renderer element for each text node when created with document.createTextNode, with the result that kerning or opentype font features do not get applied to any typed out text. This also means connected scripts (like Arabic) or complex scripts (like Devanagari) will render as individual glyphs instead of properly shaping :(
The subsequent onCreateTextNode cannot be used to circumvent this (e.g. with node.innerText += ...) because the node is created either way. — kontur
Arabic in Firefox/Chrome connected properly

Arabic in Safari rendered as individual letters:

Source: https://github.com/tameemsafi/typewriterjs/issues/216#issue-2212800972