tbh Strapi seems to want us to not use lifecycleHooks like they would made our life easier.
Limiting the data we can use inside lifecycleHooks and changing their behaviour undocumented from version to version made us - as team - decide to not using lifecycleHooks at all and write our own logic that gets called before saving/updating an entity.
So tldr to your question: Maybe this is supposed to be like that. Before (in v3) it was possible to do it like you assumed.