NAT traversal isn't a problem these days. The issue is bootstrapping the traversal. Use the hidden services to exchange real IPs and set up the VPN link to route around the slowness of Tor.
That could also work. You lose all the anonymity though, so only makes sense for when you need bandwidth and opt out of privacy. You could have separate virtual network interfaces for the different use cases.