At my last job we used corkscrew (https://github.com/bryanpkc/corkscrew) to tunnel ssh through HTTP proxies without needing the ssh server to use another port.
I guess if that work depends on how the proxy is set up.
In its simplest form, yes.
Anything more sophisticated will inspect the traffic and drop SSH connections no matter the port.
Yep, using 443 as your SSH port seems a good way of doing this. I do.