If in doubt, pick the simplest, which in this case is, I think, #2.
Specifically, work out the minimum required information the PC needs.
For example, if your display consists of two lines of text, you send two strings to the PC. If your display consists of a number of icons, you could send a bitfield (or equivalent) where each bit indicates if that icon is on or not.
If the PC’s output doesn’t have to look identical to the real display, then you can take advantage of the fact that you’ll be outputting to an app running in a GUI. The embedded device supplies the data, while the app provides the formatting.