Hmm I think this can't be done with a formula and you'll need an automation and a historical field for this I'm afraid:
The idea is to log the 'New' price so that we can check whether the new value matches the old one, and then if it doesn't to trigger an automation that'll log the old price before the change

Link to base
In the gif above, the automation's set to trigger when the formula field outputs 'Update', and the formula is as follows:
IF(
New!={New - Historical},
'Update'
)
Note that this is a simplified example and that there might be issues running this automation if the price change is keyed in manually digit by digit. To get around that, you'd either trigger the automation manually via a checkbox, or check how long it's been since the field's been modified and trigger the automation 5 min after the price is updated. The latter option is automated, but could cause performance issues in very large bases due to its usage of NOW()