when dealing with NPC of any kind, dogs, merchants ect, navmesh always makes a difference (a cheap way to work around it, navmesh a small area of house/cave ect and test your npc's there)
Also make sure the AI packages are the right one, so the dog doesnt run off to somewhere you didnt want it to.