I believe that there is a bug (or a feature!) in the iOS kernel that when the battery level is low, it attempts to send commands to the battery which fail on non-genuine batteries, causing the commands to be sent repeatedly, causing the kernel to use 100% CPU and lock the phone’s UI up, and in my experience if I do manage to get a call out the audio is choppy. My solution was to find a genuine used battery from a reputable seller on eBay that deals in iPhone recycling, unfortunately with this particular seller it is pot luck to find one with a good health value.
When you go below 20% and notice the lag can you try running Lirum Device Info Lite and check if it reports your device as using 100% CPU? That is what mine does but not sure why yet. Mine is an iPhone 6S, iOS 12.1, battery from ebay with apple logo covered with marker pen.
I don’t believe this is the same issue as the CPU throttling Apple have admitted to. In this case the lagging is so bad the phone is essentially unusable, can’t launch apps and can’t even make phone calls, and if any audio plays it can be scrambled. In this case the CPU is still at maximum frequency but the reason for the lagging is the CPU is at 100%. I’ve noticed it on my 6s on iOS 12.1, when battery goes under 20% and I go on an area of no mobile data (or turn off mobile data to simulate) then CPU goes to 100% and battery drains down to zero in no time. You can use Lirium Info Lite to see the CPU usage (CPU Dasher X does not show the total CPU usage so don’t use that). I’m a developer so trying to figure out what process is responsible for this. The moment the phone is connected to the Mac it isn’t possible to debug the problem because it also starts charging which immediately resolves the issue, however enabling network in the Devices window allows it, and can use Instruments to view the process list with...
Samsung drives use a 512 block size for NVME and Apple only support 4096 block size so buy one of those (like the OCZ RD400) and it works on a hackintosh with no patching, and if you get the correct adaptor it might work in a MacBook Pro too. There is a lot of misinformation about Apple only supporting NVME in the upcoming High Sierra but that is not accurate.