I think possibly the greatest advantage Elixir has is offering the power of the Erlang/OTP system without weird quirks like Erlang’s string handling. I never have to think about it in Elixir, binary UTF-8 strings are the default and there’s plenty of functions in the standard library for dealing with grapheme clusters and the like.
It’s not surprising that Unicode in Erlang is hard to get right. It’s hard to get right in general. Every time I read something like this that goes deeply into Unicode I come away with some fun new test cases.