Thanks Otanx for your help.
So what we did was change our VPN to be TAP instead of TUN and modified our openvpn client file as well and it now works. What TAP does is it puts you on the local LAN network and you specify a start/end pool of IPs if DHCP is off (which it was on the contractor's modem). TUN worked when my modem was the gateway because my modem would automatically insert a route between the VPN and LAN networks when it was the gateway, but since the contractor's modem was the gateway they either had to put in a route or I had to change the way I VPN'd into my modem so we decided on the latter and I switched to TAP server mode for my VPN server mode.
Note:TAP won't work on most newer OpenVPN client software so I'm using an older one to make it work. I think generally its a security issue cause the VPN'd user is on the same network without any firewall or security measures that could be put in place like in the TUN openVPN server mode where the VPN is on its own network and is separate from the local network.
So what we did was change our VPN to be TAP instead of TUN and modified our openvpn client file as well and it now works. What TAP does is it puts you on the local LAN network and you specify a start/end pool of IPs if DHCP is off (which it was on the contractor's modem). TUN worked when my modem was the gateway because my modem would automatically insert a route between the VPN and LAN networks when it was the gateway, but since the contractor's modem was the gateway they either had to put in a route or I had to change the way I VPN'd into my modem so we decided on the latter and I switched to TAP server mode for my VPN server mode.
Note:TAP won't work on most newer OpenVPN client software so I'm using an older one to make it work. I think generally its a security issue cause the VPN'd user is on the same network without any firewall or security measures that could be put in place like in the TUN openVPN server mode where the VPN is on its own network and is separate from the local network.