I'm not sure I could understanding the reasoning behind that. Does it have to do with dependency versions or the assumption npm might not be available or what?
This is pretty much what the golang world does (though now there are some tools that do a better job).
I have already been in a situation where a dependency version that I was locked to was simply removed from the official registry.
The right solution is to have your own registry or backup the archives of dependencies that you are using.
I think it is better to commit the archives rather than the whole node_modules as it does not produce a mess.