attached is the result of my first attempt to make the logical column ordering patch work. This touches a lot of code in the executor that is mostly new to me, so if you see something that looks like an obvious bug, it probably is (so let me know).
There is an apply conflict in src/backend/parser/parse_relation.c in the comments for scanRTEForColumn.
It seems like it should be easy to ignore, but when I ignore it I get make check failing all over the place.
(The first patch posted in this thread seems to work for me, I did some testing on it before I realized it was obsolete.)