On macOS Mojave and above
defaults write com.apple.Dock autohide-delay -float 0.0001; killall Dock
on a version prior to macOS Mojave
defaults write com.apple.Dock autohide-delay -float 0; killall Dock
To undo this behavior:
defaults delete com.apple.Dock autohide-delay; killall Dock