The solution 4 made tremendous improvements to the performance, it became almost instantaneous. However, I later faced the issue of the Unlock/UnlockAll functionality.
I inspected the dlls of Sitecore.Support.156916 and Sitecore.Client and compared the methods Unlock and UnlockAll, they have exact same code. Thus, I guess it's all about compatibility. I can't find any other approach to this problem online.
Yes, there is almost no performance improvement at all.