Earlier quoted context omitted.
OpenGL already has a client/server model (i remember a friend of mine once showing me running some OpenGL stuff from his SGI to his Linux machine... or the other way around, it has been years :-P) and i can't think of anything in WebGL that couldn't work in the same way (though i only used WebGL very little). Sending commands and data over a file handle fits this fine. Note sure about WebGPU though.
Yes it did, if the only thing one cares about is OpenGL 1.x like performance. X Windows did not come up with shared memory communication and hardware mapping extensions just for fun.
You are going to be sending commands to create the vertex buffers and upload textures (with the relevant data) and then most of your commands will be referencing those. Which is basically exactly what discrete GPUs already do anyway.
IIRC, unlike OpenGL, WebGL doesn't even allow you to do things in another way.
What X Windows did isn't very relevant because the use is very different. It'd only be somewhat comparable if the WebGL programs would treat WebGL as a way to stream new frame data for every frame (e.g. video). Also all X Windows communication with clients is done via commands sent through unix sockets which have similar performance to pipes.