I think both patches should be squashed into a single one since they fix the same underlying issue. I've done this locally and also ran pg_indent over the result. Attached is the combined patch.
Thanks for this!
One minor naming observation: the new fdwPrivLists field in ModifyTableState doesn't follow the mt_ prefix convention used by the other re-indexed lists (mt_updateColnosLists, mt_mergeActionLists, mt_mergeJoinConditions). Should we rename it to mt_fdwPrivLists for consistency?