TOUCHING [] Block Doesn't Work as Expected

If you have 2 sprites overlapping and you put your cursor in the middle, they both report saying that the cursor is touching both sprites, when it should REALLY say that the sprite on top is being touched by the cursor. Sorry if this doesn't make sense, I'm sick right now.

Get well soon! I hope it isn't anything serious.

I think we think of touchingness in two dimensions; if the cursor's x,y coordinates are the same as the x,y coordinates of any point in your costume, they're touching.

Did it ever work differently?

well, that's how it works in scratch too. I also agree with @bh on how we think of touching.

Is there any way I can detect what sprite I'm touching, but only report true if it's on top?

Well, you can try asking a new clone for it's neighbors to get a list of sprites that are near it, then just filter out the ones that are not touching the mouse pointer, or the object you're testing, then just check if the last item is the original sprite. Fun fact, my neighbors and my other sprites reports a list of sprites in layer order.

If it's only about touching the mouse-pointer, I was thinking about something like this:
untitled script pic (2)

Works because, as already said, the sprites are sorted by layer.

Woah, I never thought of that, I mean, I never use the at block.

Cornelios, your solution is really

If the 'at' block reports list of sprites that are being touched by the mouse pointer, I wonder if you can drag into it the 'object' block instead of the mouse pointer? (I can't test it because I'm on mobile now)

Like this?:
untitled script pic (60)
You can, but it's redundant:
untitled script pic (62)
untitled script pic (63)
(I didn't have any sprites under the mouse when I took those script pics.)

Well, the 'at' block takes an object or a list of x and y position as a second input. As far as I've tested it, the block only checks for sprites that are being 'touched' by this exact coordinate, rather than sprites that actually collide with the object