What problems with dynamic linking? Considering docker and most container Linux systems use musl im sure they wouldnt mind knowing. Also musl has no problem having utf8 strings, in fact its one of the highlighted features.
pthread and dynamic linking: Look at their bug reports and mailing list discussions.
musl has no problem with utf8, because musl doesn't implement an utf8 string api. musl is strict C11. This is one of the problems. Most libc's do have this problem.
There is casefolding, which is small but too slow (as explained). And 6 years behind. (Unicode 6.0 vs 12.1)
There's no normalization at all, so you cannot search for strings, just for memory buffers. Which leads to insecure identifier handling, such as all public names, paths, ... There is a lot of identifier API in C11 and various syscalls/kernels, which are all insecure. Not musl's or any libc fault, but they should lead the pack, not follow wrong standards.
Having checked unicode collate handling, guess there's none neither. It's planned for later this year I read.
Unicode (the "wide" api) is UTF-32 which is too big and too slow.