There are cases where large data sets are generated in the browser, but that is not even close to often.
Don't forget that JS != browser necessarily... If you're writing a Node app you could very well end up doing this kind of thing a lot (think any kind of ETL process).
True, but if you need to handle large data sets in the server Node is definitely the wrong choice.
Games spend a lot of their time iterating over lists of entities, and there's a lot of javascript games.
Games are not a very common use case of JavaScript.
Even in the world of game dev, JavaScript is not common at all.
JS isn't used mostly for games, and most games aren't written in JS, but JS and Canvas has largely taken over the niche of browser games.