Each time a NPC spawns they seem to show up at the edge of your known territory. This includes Goblins and Travelers that want to join your village. With new villagers this poses a problem as they won’t walk through the goblin horde and if they’re a footman they stand there with their sword drawn making threatening motions and never actually get to town. As a result they have a tendency to starve to death. example in pic: after I took this screen shot I had another Goblin Horde spawn (two) and then a worker they each spawned further away from the village.
No one else has commented so lets check this out. Can you circle on the picture where your fire pit is? when the immigration event is called the first thing it does with your new person is give them the task of walking to your firepit, if it cant path properly there (look at the yellow bar) then this may be the cause of them ideling.
I have delete this particular game and moved on to others as the workers refused to get wood any distance away. They would just sit there in idle mode.
But the fire pit is up the second set of stairs near the cliff. When I started the game it was on the lowest level where the beds are but I moved it and the banner. The workers refused to move most of the beds too.
Later games they don’t seem to spawn as far away. And to fix the issue of npc’s walking to town I save and restart the game and on restart they start walking to town instead of idling around.