The dyndns-module in pfsense has to ways to detect an public ip-change. Either the WAN-interface goes down/up OR a cron-job runs.
By default if your wan-interface is behind a router ans has a private ip address, the interface is never put down.
So you can only rely on the daily cronjob.
|/usr/bin/nice -n20 /etc/rc.dyndns.update
So it is running everyday at 1:01 at night.
If your public ip changes – lets say at 3 o clock, the cronjob is not quite helpful.
Please keep in mind, that running the cronjob too often will most likely get you blocked by your dyndns-provider.
Either make sure that the cron-job runs AFTER your daily ISP-disconnect (that can usuall be scheduled e.g. in fritzbox) or only run in every hour.
Cronjobs in pfsense can be edited by installing the cron-package via package-manager. Then you will find all cronjobs via Service -> cron.