I have a similar setup and everything works perfectly but and there had to be a but... when I ping from within the second network attached to the ADSL router it returns the IP address of the M0n0wall router not the host IP address.
The VM based networks is 10.10.1.x and the home network is 192.168.0.x. The M0n0wall router has an 10.10.10.1 and 192.168.0.202 address. The gateway ADSL router has a static route point 10.10.1.x back to 192.168.0.202.
When I ping for example a host 10.10.1.10 it returns 192.168.0.202... Pings in the opposite direction work perfectly.