Huh. It seems like it's working now. It still connects on the local network, but it drops all the packets because (according to the log) it is expecting them from the remote IP but is receiving them from the local IP. This configuration seems acceptable.
I don't really understand though. I think the only thing I changed was the protocol. I changed it from TCP to UDP after reading
this link in the Forum Rules.
I don't get why it works, but as long as it works I guess it doesn't matter.