I may have solved this, which may have been caused by one or the other of these problems I found and fixed. I noticed that the front door was placed backwards, facing inwards. Also, the front porch did not have foundation beneath it, as the rest of the house did. It just jutted out from the door and I placed tiles there and steps up to it.
And then I stuck two big vertical rocks to block that corner! Watch, now the npcs will get stuck on the other side.