How to know what object the snap function is targeting (in Python)?
The problem here is that snapping is an interactive operation, so to what is snapped to is known inside of the transform operator somwhow. But operators don't expose their internal working data, and bpy.context.active_operator.properties doesn't contain enough to find out (in particular if closest snapping is used, it may move your object to the same location for different snapping locations).

You can find the snapping co easily for snap to active, but it won't tell you which object nor which geometry element it used.

Would a scripted snapping modal operator help? Probably much slower than the built-in snapping, but that's probably the only way to know what is snapped to (requires a lot of final bmeshes in memory I guess).