The client signs the transaction in the browser. Client sends it to the server, server sends it to the node.
I see, I guess with bitbox you can directly send from browser but it will go to the bitcoin.com rest public API first 🤔
Sure, it's a configurable option in the client actually. You can separately specify your content, utxo and TX broadcast server.
Yes but AFAIK bitbox can't broadcast to a JSON RPC server. It should be a REST server which talk to a JSON RPC internally. They open sourced it.