What information needs to be saved in a Lamport clock system to deduce message causality?
Lamport clocks are not designed to allow you to infer all causality.  No one ever claimed that knowing the Lamport timestamp is enough to read out the causality of all messages.

Rather, Lamport clocks provide a partial ordering that is consistent with causality: if event $a$ happens before event $b$ (causally), then $a$'s timestamp will be smaller than event $b$.  The converse does not necessarily hold.

See https://en.wikipedia.org/wiki/Lamport_timestamps and https://en.wikipedia.org/wiki/Lamport_timestamps#Implications.

If you want to read out the full causality, use vector clocks or other methods that are designed for that.