Mobs in general will not walk over short blocks(ones that are shorter than a full blocks, like slabs). This is a pretty easy thing to spot in survival, as lower slabs are used everywhere, so you will typically see mobs stuck on them, not walking over them, or jumping in circles on them.
This does not apply to all blocks that do not have a full hitbox, just a few.
Ones i have tested are: Lower slabs, Enchantment tables, Soul Sand, Brewing stands
This should also affect farmland and path blocks, but those have incorrect(full sized) hitboxes, so are fine in this case.
Keep in mind, mobs not walking over these blocks, is only an issue if the block has nothing below it.
How to reproduce.
1. Go 30 blocks off the ground, and make a 1 wide by 10 long row of lower slabs.
2. spawn a zombie on one end, and a villager a couple blocks away.
3. You will see that neither the zombie, nor the villager will walk away from one another.
4. Start placing full blocks under the lower slabs, and they will start to move again. This can be repeated will all blocks listed above.
Mobs would walk over and pathfind across these blocks with little to no issue.
Below you can see one of my set ups for testing this. Placing solid blocks below any of the short ones, allow the mobs to move.
Full demonstration, and explanation of this bug here: