That doesn't look like a "lookup" where data is copied from the related table, but a direct reference to the field fro the related table.
But in either case, I'd consider a script trigger performed script rather than install on Timer.
It has both; the Price column is in the LineItem table, and it's looked up from Product. That works fine. The Products::SKU and Stock::Level columns are displaying fields from those related tables.
The only difference between the two lines in the screenshot is that the first was created by entering a SKU followed by the Quantity, and the second was created by entering a Quantity followed by the SKU.
It's downright unnatural, I tell you. I can upload the example file somewhere if anybody cares to look at it.
Oh, and I used an OnTimer because I hijacked an existing script that triggered OnObjectValidate, and refreshing before the field is even validated is silly. The more reasonable approach would surely be to refresh in a script triggered OnObjectSave.
I'm just trying to avoid explicit refreshes, without regard for the trigger mechanism.
But if you can trigger the needed refresh edit by edit, the result is much smoother--even if you have to do it before you validate or as the last part of an OnObjectValidate performed script, than you'd get with a timer controlled update.
Sometimes you can get the update that you need by "goosing" the parent record's match field. This is done by using set Field to set the field to the value that the field already has. This somehow seems to trick fileMaker into doing some updates--often just enough to get what you need.
And FileMaker 14 has added a much needed refresh portal option....