KiCad actually does this. If it does not work for you it is probably because you have a lot of overlapping objects (Copper layers, footprint, courtyard, silkscreen, etc)
KiCad does not hold you by the hand, nor does it try to outsmart you. You have full control over where you start or end a copper track. You can also use the cleanup functions in Pcbnew / Edit / Cleanup Tracks and Via’s.
How familiar are you with the u and i shortcut and with block selections (right versus left drag)? Learn the shortcuts and use them often. If you only using the mouse you are missing quite a lot in KiCad.
Footprints in Pcbnew V5.1.x can not get dragged at all (neither with g nor with d. Maybe you are referring to another KiCad version then the current stable version?
There are (at least) three. (for track segments) m for move, d for drag (preserves angle), and g, for drag, in all angle mode. Having different options enables you to choose the best option for your task at hand.
The way KiCad behaves is also influenced by several settings such as the preferences (for example snap settings) and the settings of the interactive router itself. Even small things such as as using the zoom (scroll wheel) effectively and using the layers managers to adjust visibility of layers have a quite big impact on user experience.
Shortcuts can make the working fast and easy. I used Pads Cad in DOS time, which used Function keys as shortcuts, and after I learnt them, working was easy.
On the other hand, why not make it an optional setting. In a controlled design workflow (and if KiCad works as it should) there should rarely be need to start a track from something else than an existing pad or track. The options could be to always start where clicked – whether it’s part of an existing net or not – or snap to the nearest snap point in the nearest net.