My guess is the bottle neck is your application getting
the objects. If you were to synthesize fake objects in RAM and slam then into mongo, you would be getting probably more like several hundred objects into the DB per second (rough guess, but at least 2 orders of magnitude more than the 1/s you claim). In either case FYI both MongoJS and Mongoose are asynchronous, as is pretty much every node database API. In fact, AFAIK there is simply no synchronous networking API in node, so while it's possible to wrestle node into synchronous filesystem I/O, all networking in node might be inherently asynchronous.
In either case, mongoose is going to add a tiny amount of overhead so it's likely to be technically slower than mongojs, but not by any meaningful amount (like it takes 5.1 seconds to insert 20K records vs 5.0 seconds).