This may actually be one of those things where it turns out to be worth it (for them anyway), if they get some major technological advancements out of it.
There are so many other things in the world that are way more wasteful and way more pointless.
On one hand, this is definitely a gap, on the other hand, you are very unlikely to run into it in practice.
The whole "pass an array/object into some function that will mutate it for you" pattern is not very popular in JS , you are much more likely to encounter code that just gives you a new array as a return value and treats its arguments as read-only.
If you validate your data at the boundaries where it enters your system (e.g. incoming JSON from HTTP responses), TypeScript is plenty good enough for almost all practical uses.