You are giving false/broken examples and telling they are a proof for unexpected behaviour. It looks like you haven’t done yet any critical performance oriented application if you think that miliseconds do not matter. Memory managment attitude doesn't also suggest like you ever had to meassure one properly.
The prototypal inheritance supports the instanceof kwrd for a reason and if you find it not useful it means you never done properly OO (simple as that, if you don’t understand why no sense to explain).
In programming every little thing matters, if “express” guys have same attitude then no wonder why node based http solutions are slow. Main JS devs problem is that that most of them think that string/objects/map/function operations cost nothing — that is very far from truth.
It looks like you try to catch up with every new toy that pops in the market -they pop “every hour” for a very reason that JS is already easy enough.
One more thing is that needs more attention is the garbage collector that everyone seems to forget about.