Isomorphic javascript doesn't mean that you HAVE to run all your code interchangeably. It's more about organization than a hard and fast rule. It means using the same package manager for frontend code as server side code (npm) -- tools like browserify and libraries that provide for design patterns that can be used with a DOM, or without one. It means treating javascript as javascript, not having separate repo's for frontend code and backend code.
You still have to logically organize your application and make good choices about your code organization, as well as separation of concern. Interaction should always happen on the client.
Also, the technique mentioned in the article about bootstrapping data into the initial page load is quite old and known about, and not a revelation. It does save one request round trip, which could potentially speed up your application by that one request (usually session data or user bootstrap data), but is not the silver bullet in solving all performance problems as the OP implies.
You still have to logically organize your application and make good choices about your code organization, as well as separation of concern. Interaction should always happen on the client.
Also, the technique mentioned in the article about bootstrapping data into the initial page load is quite old and known about, and not a revelation. It does save one request round trip, which could potentially speed up your application by that one request (usually session data or user bootstrap data), but is not the silver bullet in solving all performance problems as the OP implies.