Right now the dragged cards are drawn and moved in the board's perspective, but the drag events are in viewport space (i.e. flat to the screen). This causes a mismatch between the cursor (or finger) and the card. Notice the card change position relative to the cursor at the edges of the viewport.