Figured I'd report this again, since the first 3 or so reports got no response and, most importantly, no fix.
Ballphins spawned from Ballphin Palaces behave weirdly due to their herd mechanics. Normally, they attach themselves to a nearby ballphin pod or create a new one if they can't find one. However, sooner or later, something will but out and one day they'll decide to spawn and attach themselves to a new ballphin pod miles away from their Palace. I'm guessing something causes them to not detect their existing ballphin pod.
Depending on whether they are in open ocean (most of SW) or in an enclosed space (either Hamlet pods or a sea wall-surrounded area in SW), things progress differently.
In open ocean, they will swim away from their home to find this new ballphin pod they've spawned. Eventually, they will move too far away and become unloaded. This results in them being stuck away from their homes, as their homeseeker component will not activate at dusk and they won't come back unless the player goes out to find them and escort them home.
In enclosed spaces, they will become stuck swimming against the shore or sea walls all day long. However, when dusk comes, they will return to their homes, only to repeat the whole thing again come morning. Slot 1 of the attached save file belongs in this category.
Using c_countprefabs, it appears that there are 25 ballphin pods in total, but only 15 ballphin palaces. The ballphins stuck swimming against the shore (or, in one case, stuck swimming against a lily pad) are also 15, so I'm fairly certain the behavior only affects ballphins spawned from palaces. And when I used c_gonext("ballphinpod") I ended up in the void, as shown in the screenshot.
1. Build a few ballphin palaces. 2. Wait a few days. After a while, the ballphins that come out of the palace each morning will spawn extra ballphin pods far far away. This can be seen with c_countprefabs and c_findnext.