...Anyone have any idea what happened.
Maybe... you mention just "Communication error" but suspect that it actually was
Battery communication error.
The flight controller in DJI drones needs to be able to communicate with the BMS in the battery to get for instance amp draw, cell voltage levels & other data in order to calculate & handle certain automated actions. If this communication fails (due to a battery failure or a bad connector connection between battery & drone) the flight controller will command a forced auto landing.
Was the new battery a 3:rd party one or a DJI original battery?
To be able to say this for sure we need the flight log from this flight... it's stored in the screen device you used (either a phone a Tab or a screened RC). Retrieve the .txt log & go here --->
DJI Flight Log Viewer | Phantom Help & upload it... the log viewer will then provide you with a link to the log, copy that & come back to this thread & share it (the page I link to also describe where to find the .txt log in your screen device if you scroll down a bit).
...it's a total guess, but that sounds to me like something that might happen if there was GPS jammer in the area or something similar that can disrupt control signals.
Not likely... those will not separately cause a forced auto landing. If the GPS positioning gets disrupted you will get ATTI mode but still be able to control the drone. If something disrupts the RC control signal, the drone will execute the failsafe action which in most cases is RTH.
It's only when you both have ATTI mode & loose RC control signal a auto landing will occur... this seems to be a bit far fetched at this stage.