In the particular case of Unicode that is not really true.
If you take go as an example, it provides the same string model as OCaml does (sequences of bytes) aswell as UTF-{8,16} codecs, which the Stdlib now also fully provides.
Beyond that it seems the only thing it provides over what OCaml does is this outdated (Unicode v13.0.0) random selection of Unicode character properties – for that you will need to use uucp
(which is not outdated).
Beyond that most other languages will just provide you with a broken Unicode string representation.
I seriously think that if you know what you are doing that provides you with an excellent answer.
That’s maybe the problem, what is your definition of “working with unicode strings in OCaml” ? As far as Unicode processing is concerned this is a very vague request.