I just resolved this. Turns out the local networks field wasn’t set correctly / wasn’t set at all.
If you’re reading this and are in the same situation, from the web UI you want settings > Asterisk SIP Settings then press the “Detect Network Settings” or just populate them manually. Submit, apply config then you should be all set.
As an aside, I’m not sure if this made a difference, but I installed FreePBX using RonR’s scripts on the DSLReports forum ([PBX] FreePBX for the Raspberry Pi - VOIP Tech Chat | DSLReports Forums) which have been great, but not sure if something about that particular installation method caused the values not to be automatically populated or not.
Hopefully this helps someone.