Hmmm... that is an unfamiliar setup to me, to be honest. The main things to look for, in general, are:
1. Are the ports forwarded to the proper place at each step of the way.
2. Are there any firewalls blocking the ports, or the applications in general, at any step of the way.
3. Possibly: Is it correctly passing the source of the original packets through at all levels, so that when the host would respond, it knows how to get them back?
#3 is the tricky one, with an odd setup like this. If the host is able to get packets in, but can't send them back to the right destination because it can't tell one from the other, then you would get kind of a one-way speaker. Client says "Hello!" and the host hears it, and responds back, but the client never hears the response and thus assumes the host did not hear. I honestly don't know the factors that would muck this up, because it's software-specific to all the various things in the middle layers of your routing chain.
Generally there is not a problem with this, and so I don't think I have ever suggested this as a possible problem to anyone before, in 5 years of doing tech support for the game, heh. But I remember back in the early 2000s when I was working as a sysadmin, I had set up a private network inside a network, with a single machine acting as a bridge between the two. There were all sorts of tricky problems that came up out of that, relating to translating between a class C and class B subnet style, mainly. I eventually got them all worked out, but this was windows 2000 and was using completely different software, not games. The only reason I bring this up at all is because it's the closest thing to your setup that I can think of.
Software that creates virtual private lans, like Hamachi (or the various better software solutions suggested around here, there are some suggestions from other players on things they much prefer) may be better programmed to deal with odd setups. It's specifically using NAT punchthrough an intermediate servers and whatnot to handle pretty much any complex case that ordinary networked software can't navigate. In essence that's kind of the point of their software, that they navigate all those oddities. With a setup like yours, you may ultimately find you need to rely on software like that. And in the case of Hamachi, you may even find that you never get a green connection, but only get a yellow one, since it may have to route through their servers instead of setting up direct connections, specifically because of the #3 conditions I mentioned above. I don't know for sure, though.
I wish I could give you a more helpful answer, but you've really got a stumper there! I hope this is of some help at least.