I can access my DVR system on my smart device through the local WiFi network but not through 3G/4G or other wifi.
Either you haven’t configured your router properly or you are using the wrong IP address.
To access the DVR or IP Camera from the same Network; you use the Local IP address of the DVR, which you can find on the Network menu of the Unit. This is the Private IP of the DVR, which will only be accessible inside your own Network.
To access the DVR from a different Network (for example 3G/4G or some distant Wifi’s), you need to use the Public IP address of the internet connection to which the DVR is connected (Your Internet Address).
In instances where the Public IP address is a dynamic IP, it is often very convenient to set up a domain name (DDNS domain) to replace the Public IP. The DVR or your IPCam, and/or your router will have have a built in DDNS updater which, once properly setup, will update the domain name ensuring that it remains associated with the current IP address that your Internet Provider has assigned to your internet connection.
You can see the Public IP address from a computer connected to the same internet connection as the DVR on this website:www.canyouseeme.org
In addition to all that, and above all, to access the DVR across the internet, the router needs to be properly configured.
You need to do port forwarding typically, unless the router supports UPnP (universal plug and play).
Not all routers support UPnP and some support it poorly and will be ineffective. When this occurs, you will be required to perform manual port forwarding.
While you are at www.canyouseeme.org you can verify whether your ports are open or not.
This will pretty much tell you whether it is necessary to do port forwarding. If the ports are already open, then you are good to go. Simply use the Public IP as opposed to the Private IP of the DVR when you want to access remotely.