STUNT
Simple Traversal of UDP Through NATs and TCP too (STUNT), which extends STUN to include TCP functionality, is a lightweight protocol that allows applications running behind a NAT to determine external IP and port-binding properties, packet filtering rules and various timeouts associated with TCP connections through the NAT. Knowing these parameters allows applications to establish TCP sessions between two NAT'ed hosts. As a result P2P and other applications can work through existing NAT infrastructure without sacrificing the benefits of TCP.
Most interesting indeed. I wonder if this technology has filtered through to any apps in the mainstream already. As for your question about adapting OpenVPN to incorporate STUNT like nat traversal -- that would be a question best answered by the dev's and build team.