Currently, the drag-and-drop function works by dragging one record onto another. The second record is the only drop target data available for determining the subsequent actions.
It would be more intuitive if the drop behavior worked like in most applications, where a thick line is displayed between two rows in the UI to indicate where the record will be placed.
From a technical perspective, the result could always return the row data of the record directly above the line (or an empty value when the record is dropped at the top). Alternatively, it could return the data of both surrounding rows.

