I mostly agree with you. I think however that it was "the only choice" because it was good enough. It's worth remembering that there was a non trivial time period in which there was a single dominant browser platform which supported alternatives: VBScript was supported through IE10, and is still available in IE11; ActiveX could be used to allow just about any scripting language.
Even now it's fairly straightforward to have JavaScript be the output of a toolchain, but not necessarily the input
If the original Scheme-like plan for JS had of been used then you'd be saying exactly the same thing about a Scheme.
JS didn't succeed because it was "good" in _any_ way. It succeeded because it was not horrendous and it was/is _the only choice_.