The current impersonation way requires that the user to impersonate is assigned as a "Global User" which will result in that user having access to all the data and configurations within the admin center and the app. This is unnecessary.
Instead, it is better if the user can assign their substitute for some time (e.g., during leave time) to another user where the Manager of the substituting employee needs to approve the substitution to be triggered.
For example, I assign my secretary or clerk to substitute me in creating tasks for others on my behalf where the task will show as created by me (not the substitute) or as created by the substitute on behalf of me (i.e., Created by XYZ on behalf of ABC).