That's an interesting discovery, my reflex would be to also try to increase the MTU. The fact that it is working with swapped server and client roles indicates that one side (your original client) seems to not be able to push enough data through the line. Did you also try other clients?
Fill in the blank.