The FS PBX registration script was revised some time ago to include various methods for detecting the local and WAN IPs. As you've observed, each phone behaves differently, and firmware variations can also affect performance. SIP ALG (if enabled) might interfere with this process. While the script isn't perfect and could use further refinement, sometimes only the WAN IP is available.
Please DM me and attempt to register your phone with my FS PBX instance. If it passes the info correctly, that indicates the network topology between your phones and your server may be the factor. If not, I'll try to identify the local and WAN IP and enhance the script. That is, if your phones' registration packets initially leave your network with both IPs. Obviously, cases where they are encrypted will never work.