It's funny you mention that, because 4 days ago I wrote a blog post about exactly that: https://docnode.dev/blog/text-conflicts
You need OT or CRDT because otherwise you'd have LWW over the entire document. However, I agree that resolving conflicts at the character/letter level isn't the best idea. Doing it at the node level is a more reasonable balance.