I honestly think the newer ECMAScript features with static blocks, private fields are a little strange. I get that some people really want JavaScript to be object-oriented - but I wonder if we wouldn't be better off embracing and building on its functional side.
Yeah, I find them utterly bizarre. I find it hard to believe that people using private implementation details is a real problem that people have. Underscore prefixing is a well-established convention within the JavaScript ecosystem, and with typescript it's easy to hide fields from the static types. I'm usually up for new language additions, but I can't see the benefit to this added complexity at all.
If Bar depends on a private internal of Baz, and Foo depends on Bar, then if Baz publishes a patch version that changes an internal to fix a bug, Bar breaks, and so does Foo.