If you're getting into the lobby, then your port forwarding and everything else is just fine -- the two of you are connected.
What is happening when you try to transfer into the main game but fail is that the game is trying to send a lot of data and is failing to do so. You can try turning down your MTU on the host and client in the settings window, and you can also try changing the network sync size. Those two settings are meant to work around exactly the situation you're running into.
Now -- those are in-game workarounds. With the MTU, it may just be that it needs to be lower because of your ISP. You might try 1200 or even as low as 1100. When it comes to the network sync size, however, that's really a bandaid for network drivers or router firmware that aren't buffering properly. These would be a problem on the host, most likely. The true solution to the underlying problem is generally for the host to make sure that both their router and their network drivers are fully updated; but certainly the network sync size can be used as a permanent band-aid rather than doing that.
The only downside of using the network sync size is that it spaces out the initial network connection messages a little more than it otherwise would have to, and thus it takes a few seconds more for initial connection than it would if you weren't using that setting. However, the in-game performance is unaffected by this (once you are connected, the amount of data that needs to be buffered is vastly lower, so that's why that doesn't come up then).
Hope that helps!