Just so I understand, the original question has no answer because there is not a 1-1 correspondence between code points and glyphs? If there were, it would be trivial to solve.
But instead Unicode has formatting and control code points and that complicates everything?
Really, the problem is the question itself. A more specific requirement such as "make all the glyphs appear in reverse order" makes it a much easier problem (still tricky and full of edge cases, but conceptually simple).
"Reverse" is just too ambiguous when dealing with Unicode.
But instead Unicode has formatting and control code points and that complicates everything?
Is that the gist of it or is there more?