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.