Right now those hooks also fire when using the duplicate function from the ui or when adding a translation, but there is no easy way to check for either of those conditions.
e.g. I have a custom uuid field being generated on beforeCreate. If I generate it only when being empty I will get duplicate uuids when using the duplicate function, If I generate without a condition then it will change whenever I add a new translation.