From what I can tell, it is because you are referencing Self.X and Self.Y where you need to reference Touch.X and Touch.Y. Since the action is on the Tilemap, the Self object references the Tilemap X/Y instead of the Touch X/Y.
Using the Touch X/Y, I did a quick test and got the results I believe you are looking for so, making that simple change should solve your problem. Good luck with your project.