It seems the drop event is not triggering when I would expect.
I assume that the drop event fires when an element that is being dragged is releases above the target
You can get away with just doing an event.preventDefault() on the dragover event. Doing this will fire the drop event.
event.preventDefault()
dragover
drop