You came to the same conclusion as I did, but with a different solution. Patching the LVGL code is not a desirable solution for me. Too many maintenance issues. I simply modified my TS read routine to PRE-rotate the coords an extra 180 degrees in the 90 and 270 cases to compensate for the LVGL caller POST-rotating them 90 degrees the “wrong” way. The code shown in my original post shows this solution and also contains as a comment a clip of the relevant code you identified in your thread.
The thread I started on GitHub for this issue can be found here if you care to add your support for a fix!