Ddns script errors in log

After I did a sysupgrade recently, I couldn't get ddns scripts to update the new IP at my ddns provider (dnsexit). I tried a bunch of different things to get it to work but it simply would not update. Instead it would show a previous IP from a few days previous, and sometimes a 139.99.x.x IP which is nowhere near my actual IP.
What actually finally did work was running a curl command from the router while ssh'd in, one that includes my subdomain name and an api key. I found that one-liner on my ddns provider's site, something like

curl https://api.dnsexit.com/dns/ud/?apikey=ll;longalphanumericsequence -d host=myhost.subdomain.net

Kinda made me think that, rather than using OpenWRT's canned solution for ddns updating, maybe I should craft a script from that command and run it via cron. But before going to that extent, I need to try and figure out why this update routine has stopped working on my router (rpi4 B) after sysupgrade whereas it had been working as expected since I set this device up about 4 years ago.
Despite getting the current IP updated with the curl command a few days ago I continue to see errors related to ddns updates in logs, as follows:

user.warn ddns-scripts[30947]: myddns_ipv4: Updating IP at DDNS provider failed - starting retry 4/0

Today I once again had to run the curl command to get the current IP as the router had once again reverted to the 139.99.x.x IP.
Any help troubleshooting the issue(s) here will be appreciated. Thanks

Show the recent DDNS client log.

Here's some obfuscated output that I hope will suffice for diagnosis:

161122  info : Rerun IP check at 2025-03-30 16:11
 161122       : Detect current IP on 'network'
 161122       : Current IP '1.2.3.4' detected on network 'WAN'
 161122       : Waiting 3600 seconds (Check Interval)
 171122       : Detect registered/public IP
 171122       : #> /usr/bin/nslookup gajs-f0el.linkpc.net  >/var/run/ddns/myddns_ipv4.dat 2>/var/run/ddns/myddns_ipv4.err
 171122       : Registered IP '139.99.66.103' detected
 171122  WARN : Updating IP at DDNS provider failed - starting retry 1/0
 171122       : Detect current IP on 'network'
 171122       : Current IP '1.2.3.4' detected on network 'WAN'
 171122       : Update needed - L: '1.2.3.4' <> R: '139.99.66.103'
 171122       : #> /bin/uclient-fetch -q -O /var/run/ddns/myddns_ipv4.dat -Y off 'http://update.dnsexit.com/RemoteUpdate.sv?login=myuser&password=mypwd&host=myhost.subdomain.net&myip=1.2.3.4' 2>/var/run/ddns/myddns_ipv4.err
 171122       : DDNS Provider answered:
 HTTP/1.1 200 OK
4=IP not changed. To save our system resources, please don't post updates unless the IP got changed.
 171122  info : Update successful - IP '1.2.3.4' send
 171122  info : Forced update successful - IP: '1.2.3.4' send
 171122       : Waiting 3600 seconds (Check Interval)
 181122       : Detect registered/public IP
 181122       : #> /usr/bin/nslookup myhost.subdomain.net  >/var/run/ddns/myddns_ipv4.dat 2>/var/run/ddns/myddns_ipv4.err
 181124       : Registered IP '139.99.66.103' detected
 181124  WARN : Updating IP at DDNS provider failed - starting retry 2/0

Consider using custom configuration instead of selecting dnsexit.com from the drop-down.

Use the following Update URL: http://api.dnsexit.com/dns/ud/?apikey=[PASSWORD]&host=[DOMAIN]&ip=[IP] - copy/paste it without changes.
While configuring from Luci, put your API KEY into password field and your FQDN into domain field. Put whatever you want into username field.

Install curl and hostip (or drill or another similar tool) and configure certificate path as /etc/ssl/certs/ca-certificates.crt, tick "Use HTTP Secure".

If the problem persists, show more lines of your log, see this example.
Leave the 1st octet of your IP address as it is and hide the rest if you wish.