I think this is missing something: the creators of those languages wanted languages that were fun/productive for writing small programs. That is, extremely flexible languages (and yes maybe they were unaware back in the 90's how this would limit their optimization potential)
And all big programs were once small programs. Facebook is probably one of the easiest to see, since it was "just" a bunch of PHP scripts (although people tend to underestimate/dismiss it for that reason).
Just like nobody ever says: "Well I estimate that in 10 years Facebook will consist of 10M lines of PHP with 5,000 programers working on it -- I should probably write it in another language".
Nobody ever says: "Well I think my language is going to be used by millions of people and will have billions of lines of code".
Well, there probably were people who thought that, but those were exactly the people who didn't make languages as useful as Python and JS :)
----
That said I think the phrase "irrational exuberance languages" referring to Python/JS is kinda funny, and in a way accurate ...
https://blog.sigplan.org/2020/10/12/from-heavy-metal-to-irra...
Although again I would say the unexpected part was not that they thought single core scaling would continue forever and make their languages fast, it's that those "slow" languages turned out to be the "best" ones for writing some of the most important systems of the last couple decades (not just commercial ones, but also Wikipedia, BitTorrent, etc.)
----
I'd make another analogy, to ISAs. If you talk to anyone who knows about CPU design, they'll say that x86 is shitty with a big pile of hacks.
"It would be better" if someone designed it from the beginning with current applications in mind. But if anyone actually did that back in 1980, they wouldn't have been successful.
And from my perspective, I mostly don't care, because the C compiler makes it all work for me (although I know the people who make it work care very much).
So I guess the point is that technology adoption proceeds by evolution, and trying to plan 10 or 20 years ahead of time never works.
----
Also, there is a pretty hard tradeoff between static types and metaprogramming. Recent languages have come closer to reconciling these features (Zig, Nim, D), but dynamic languages chose reflection/metaprogramming, and that's a primary reason why they became successful.
Ruby on Rails is a great example of that. It uses Ruby metaprogramming/reflection to a hilt, and lots of people who have no idea what that is love it, and they built tons of things with it (which now makes it an interesting optimization target)