Now you're getting into nuanced answers anyways
Does it make sense to expose them. Yes, probably, if there's no cost to doing so (which is approximately what you said when you says "needs to handle unicode strings anyways").
Does it make sense to use the exposed dependency? That depends
- What is the cost of including an extra copy (high in wasm, low in server side containers)
- [Edit: Added] What is the cost of using the system copy (typically low, but non 0 performance impact)
- What set of symbols is more likely to be outdated?
- How many times are you going to run into issues where you are missing the dependency in the runtime?
- How expensive is it going to be to implement a different solution for every different runtime that exposes it in a different way?
- How likely is the runtimes API ever to change in a backwards incompatible way?
Most of the time, for things that are not downloaded just when the user tries to run them (i.e. websites), I think it doesn't make sense to use the exposed dependency, even if it exists.