If you are using the free version of portmap.io, they will just give you a port number rather than letting you pick a specific port. That is OK because your router can switch them. So, use that number on the ASUS router and map that to port 8089 and the IP address of the DVR server. You also need to route the reply traffic from the connection back from the DVR server back through the VPN. But, just for testing, you can set your router to route all traffic from the DVR server through the VPN. Later, you can set that to just the port 8089 reply traffic. If you are running Merlin on the router, this is pretty easy. I'm not sure if you can make these types of policy based routes on the stock ASUS firmware. Once you have done this, disable and re-enable the remote DVR function of the DVR server. That will send your IP to the Channels system. Wait a few minutes and then in a browser go to my.channelsdvr.net. if you see your DVR site come up, you are likely working. If not, look at the address bar and you should see URL with alphanumeric characters .channelsdvr.net. Write down or copy the characters.channelsdvr.net. Then use nslookup with that address. It should point to the address on the outside of your VPN. If it doesn't, the DVR server hasn't (yet) contacted the Channels server with your IP or your route isn't working.
In order to route just the DVR traffic through the VPN, you are likely going to need Merlin running. If you do, reply back and I can help with that once you have the above working.