1) It mimics Tor, each hop is added latency and failure probability, whereas Nostr being a web server is the same performance people expect from any website
2/3) Bi-direction needs to be at the app layer if its to be used in commerce, payments often have additional context... you're not firing the zap receipt from Lightning for example
4) That appears to be a middleware plugin to talk websockets, since the browser requires websockets... nostr is just json and websockets already