I often come across logic that could be normalized but question if it makes it clearer.
if (targetSprintId === sourceSprintId ? targetItemId !== sourceItemId : true) { ... }
It a little awkward with the ternary, but you see that *ItemId is related to the the sprint ids being equal.
if (targetSprintId !== sourceSprintId || targetItemId !== sourceItemId) { ... }
This is more "normalized" you could say, since *ItemIds are only relevant if the sprint ids are equal. But does that require extra brain load? I have to think in negative terms first.