Pavan Deolasee recently noted that a few of the HeapTupleHeaderIndicatesMovedPartitions calls added by commit 5db6df0c0117 are useless, since they are done after comparing t_self with t_ctid. That's because t_self can never be set to the magical values that indicate that the tuple moved partition. If the first test fails (so we know t_self equals t_ctid), necessarily the second test will also fail.
So these checks can be removed and no harm is done.
The patch looks good to me. The existing coding pattern was a bit confusing and that's how I noticed it. So +1 for fixing it.