Let's be clear about how this works. Feel free to check out the source code, it's on Github.
VPN Mgr uses a third party API to determine the success of the connectivity, and where that third party API thinks the IP address is located. You're shown this information on the screen so you know whether the connection has worked or not. The addon does not make up this information or pretend to be "at a location" it's not. You can turn on debug and see this call being traced.
VPN Mgr is 'just' calling openvpn. The log is available for you to view of this interaction. The modification of the routing tables, along with the DNS happens as a result of what's in the ovpn files THAT YOU PROVIDED, and the VPN providers THAT YOU'RE CHOOSING TO USE. If you don't like the way that the routing tables have been modified, or the way the traffic flows, then that's up to you/your provider to fix.
VPN Mgr can change or disable the connection based on the addon currently in use. You're supplying the connections. It's up to you to define the filtering to determine the active connection based on addon (go read the wiki page if you don't understand how to do this). What VPN Mgr does not do is try to route traffic based on the addon in use. You can determine the active connection in the GUI or by using the command line and viewing the running openvpn task.
If an third-party geo locked addon does not work because of the connections THAT YOU PROVIDED, then that's because the service you're trying to use with that addon is very very likely doing something more sophisticated than just looking at your location to achieve geolocking. Feel free to take this up with your VPN provider, or the service you're trying to access.