From my experience in my project, either admin OR user with admin rights will be able to unlock the page. A mere impersonation of the person who locked the page does not give you all the access to unlock the page.
Also, did you get a chance looking into some of the options that were discussed in this thread. Unlocking Pages - Alternative to "admin" Account?
Ideally impersonating as a locked user and unlocking the page was working until before AEM 6.3 but apparently not working now in AEM 6.3. Not sure if there is any change or is it a bug in AEM 6.3. There are other options as well as you had mentioned but the mentioned behavior after impersonating is the one which the customer needed and was working until AEM 6.2.
Is there any hotfix available for the same from Adobe? Error log -
Unable to unlock page.
com.day.cq.wcm.api.WCMException: Unable to unlock page.
Caused by: javax.jcr.lock.LockException: Not an owner of the lock
For AEM 6.3, Impersonating and unlocking a page is not allowed and can be treated as a product limitation.
If it is indeed a product limitation, the canUnlock() method on the Page class should return false when checked with an impersonated user; which it doesn't.
So it seems like there's either a bug in the unlock functionality itself, or in the canUnlock() method.
Correct me if I'm wrong.
Latest update we received from Adobe on this through day care -
We have confirmed from the engg team and same has been written in the docs And an evaluation for improvement on this feature is been checked on this JIRA (CQ-4236738).
Locking a page can be performed when impersonating a user. However a page locked in this way can only then be unlocked as the user who was impersonated or a user with administrator privileges.
Pages cannot be unlocked by impersonating the user who locked the page.
Also same has been written under.