Hi,
Always tricky this
I think you should rely more on triggers than comparisions. few things:
-- make your grid trigger size different from your pawns triggers, so that when y pawn is a grid you don't have overlaps, I would make the grid triggers way smaller than pawn out of the blue and define your logic based on this. so that the pawn will EXIT a grid before ENTER a new one.
but that may not give you the expected behavior, you may want instant detection of a pawn moving, and then you would do the opposite and make your grid perfectly in size with their triggers and the pawn trigger would be slightly smaller, so that you can detect immediatly that a pawn ENTER a new grid. this means basically only relying on ENTER and disregard EXIT for most of your logic.
If you want to have control over directions, create your pawn with childrens each with a trigger on each direction, and then work with them to know where your player is heading or define rules for direction blocks. this will be a lot easier to "visually" design then float comparisions, and perfs will be just fine, colliders are very performant.
Bye,
Jean