Assuming that your ssh server on your home pc and the client at work are both working correctly (you have confirmed this right?), the fact that it doesn't work over an apparently open port suggests that some sort of filtering above layer 4 is occurring. If you can do packet captures from inside the work network you may want to attempt an ssh connection and compare the results to a successful ssh connection that you have performed from outside the work network. You should see a TCP handshake, some clear text communication as the systems send banners and negotiate encryption, and then encrypted traffic. If the handshake succeeds, and some data is received but then responses stop or the connection is suddenly torn down with a RST, its likely some additional filtering is occurring.
Assuming that additional filtering is occurring, Id suggest testing that you can connect to a http/s website running on your system, and if that works use something like one of the following methods to encapsulate your ssh traffic inside http/s