The short answer
Prices on screen are refreshed for display and can be up to a second behind the settlement feed. Settlement uses the raw quote at the exact settlement second, which is the number that goes into the audit record.
How to check it yourself
Open the order reference on the audit page. You will see the raw quote at entry and at settlement, with its arrival timestamp. If the record does not support the result, we correct it.
Why we do not "use the screen price"
Because the screen price is a rendering, and a rendering can be delayed by your device, your network or our own drawing loop. Using it would make the result depend on how far away you are from a server, which is not something you should be able to lose money on.