If you do not specify a node or GFP_THISNODE then the slub allocator will
opportunistically allocate sporadically from other nodes to avoid
fragmentation of slabs. The page allocator also will sporadically go off
node in order to avoid reclaim. The page allocator may go off node
extensively if there is a imbalance of allocation between node. The page
allocator has knobs to tune off node vs reclaim options. Doing more
reclaim will slow things down but give you local data.
Maybe, maybe not.
Going back to CONFIG_SLAB=y removes all mismatches, without having to
use GFP_THISNODE at all,
on hosts with plenty of available memory on all nodes.
I think that is some kind of evidence that something is broken in SLUB land.