Thanks for posting a gif of the issue! Snapping “Cursor to Selected” will place the cursor at the origin of the selected object (small orange dot). So you’ll need to set the origin to the desired location so the cursor will also snap there.
You can set an object’s origin in the Object > Set Origin menu: