Answer
Use a genuinely persisted custom field rather than a live-computed read-only one, and populate it once via a Custom Event with a SQL action that fires specifically on creation of the referencing record (for example, on insert into the relevant transaction table) — this captures a one-time snapshot of the source value at creation time into stored data, rather than a read-only field that recalculates its value from the current state of the related record every time it's displayed.