This is possible but harder 
First you need to ssh in the router and edit /etc/config/firewall and add this:
config ipset
option name 'v2ray_ddns_ip'
list match 'dest_ip'
this becomes a ipset managed by the firewall, although now nothing gets populated in this ipset, further later on that.
Based on your current firewall rule which is not ddns ready, please remove the dst ip, and add in ssh in the same firewall config:
option ipset 'v2ray_ddns_ip'
Because we added list match 'dest_ip' inside the ipset node this actually functions similar as the destination ip, since ipsets have also other 'matches'.
now the trick:
now in ssh edit /etc/config/dhcp and add:
config ipset
list name 'v2ray_ddns_ip'
list domain 'https://your-ddns-site'
Make sure the router uses the main dnsmasq server, then /etc/init.d/firewall restart and then /etc/init.d/dnsmasq restart.
On newer luci this can be done by the gui, both in the firewall tab as in the dnsmasq tab 
but the raw configuration should still be valid.
Edit:
One thing to consider but this depends between nftables vs iptables:
It is possible it does not automatic add the ip in the ipset, because it requires a active client doing the resolvement first, i think this is the case with nftables, so here is a idea to solve it in case you get this problem:
Make sure v2ray uses the routers dns, as example you can use nextdns that is fine because it first routes it to your main dns server and then forwards to for example nextdns, but don't let v2ray do that configure this in the gl ui.
To debug ipset:
Iptables:
ipset list v2ray_ddns_ip
for nftables:
nft list set inet fw4 v2ray_ddns_ip