Okay, so I am almost positive that the issue lies within the creation of tun0 at the time of OpenVPN startup:
/sbin/ifconfig tun0 10.100.1.112 netmask 255.255.255.0 mtu 1500 broadcast 10.100.1.255 link0 The 'link0' section that OpenVPN adds on is layer 2, while tun devices are layer 3. For some reason OpenBSD is forcing OpenVPN to do 'link0' and there is no way to stop it, no matter how many options I specified in OpenVPN to use tun/tun0 as layer 3. Does anyone know how to disable this behavior in OpenBSD for OpenVPN? Even if I manually remove the link0 flag with ifconfig, upon OpenVPN startup it destroys/re-creates the tun0 device with link0 by default. This behavior is only consistent with OpenBSD. If I remove the link0 flag from tun0 after I am connected to the VPN, it promptly brings down the status tun0 entirely.

