On my latest Civi 5.37.2 the params array passed to
hook_civicrm_pre looks like:
Array ( [hidden_custom] => 1 [hidden_custom_group_count] => Array (  => 1 ) [custom_395_-1] => <-------- Spooky appdx [custom_463_-1] => 1000 <-------- Spooky appdx [...]
This happens when adding a new activity to a case.
hook_civicrm_customPre works in other cases but it is not fired here. So it seems, there is no hook to get a sane
custom_<fieldid> param prior saving to db.