I always don’t know if i should post or not post reply…
during my “games” with dhcp/dns/dnsmasq/kresd/resolver setup i found that there are three files (in “tmp”) with lease entries. Based on setup in “resolver”/“dhcp” uci config you might get some entries duplicated as part of “leasetrigger” event (or/and dhcp event). Foris/Luci just reads one of those files. As you have almost “never expired” lease time, each time there is new lease (no matter if static or dynamic) you will get new entry and very possibly all “live” entries might get duplicated between those three lease files by the “leasetrigger” (in /etc/config/resolver or dhcp there is option for this, so you can debugg that script by yourself).
I would stop services handling lease files (kresd, resolver, odhcp, dnsmesq) change leasetime to 1hour in luci (during debugg). Clean the lease file manually, restart stopped services and observe what and when pops-up in lease files and in system log file.
normally even with silly lease time, each time clients connects, it should get the lease time reset and lease file entry should gets refreshed. That should work if you have some decent setup. So you should check the scripts executed after static/dynamic lease occurs.