It works weird in 1.19.41 with maps as well.
Try this:
/give @s empty_map 1 2 /testfor @a[hasitem={item=empty_map}] <--- No targets matched selector /testfor @a[hasitem={item=empty_map,data=2}] <--- Found IzaacB /give @s filled_map 1 2 /testfor @a[hasitem={item=filled_map}] <--- No targets matched selector /testfor @a[hasitem={item=filled_map,data=2}] <--- No targets matched selector
It works weird in 1.19.41 with maps as well.
Try this: