In this case, mostly legacy compatibility. Making an app that works with versions that don't have pg_lsn have a nice path forward to the modern world. Being able to cast from pg_lsn to int8 can also make it easier to work with the values in the client application, though I don't need that for this particular one.
Wouldn't we need a uint8 type for that?
I guess we could just show people negative LSNs if the high bit is set (that being rather unlikely) but still...