I'm having trouble understanding why the plane tilted has the distortion effect. If you take any given line from the model, shouldn't any linear transformation preserve the "straightness" of line?
You're correct that any linear transformation will preserve the "straightness" of the line, but the problem is precisely that perspective projection is not a linear transformation. Remember that earlier when we wanted to use matrices to represent perspective projection, we couldn't do it without homogenous coordinates because it required division by z, which is not linear.
I found a cool example of perspective correct texture mapping in a video that shows the difference in real-time gameplay, https://www.youtube.com/watch?v=RyYEGdGwnFs
Another interesting form of perspective projection is using homographies. https://en.wikipedia.org/wiki/Homography_(computer_vision)
They are a pretty common concept in computer vision, and interestingly enough, are used in car cameras to give the "top-down view" cars market nowadays.