Click not being correctly translated to world coordinates

Have you checked with physics debugging that your collision shape is where you expect it to be?

Also, does it make any difference if you use screen_to_world() and action.x and action.y instead?