This unit
$ cat /etc/systemd/system/noip-duc.service
[Unit]
Description=No-IP Dynamic Update Client
After=network.target auditd.service
This should probably be network-online.target.
always fails at boot time with the message status=2/INVALIDARGUMENT
That's the exit code from the program. It is probably the return code from a system call made within the program, not in response to some command-line argument. But if the program runs before the network is up and doesn't handle waiting, that's the most likely culprit.
A very plausible theory. I was sure this would fix the problem; but it is not so. I edited /etc/systemd/system/noip-duc.service as you recommend.
And the problem remains. Further advice would be welcome.