It works on stock, and that's exactly the problem. We can deal with the phone's rom and kernel sides, but the firmware is a proprietary blackbox that we have no actual access to, unlike LG with their stock rom to which the firmware was tailor-made to. We can only send things in so that it can send results out, we don't know what it does with the interface code we have on the rom and kernel any deeper than surface level, and surely we can't simply brute-force our way through by testing every possible combination of blobs/kernel configs/firmware version, etc. About using a specific firmware and working around it... that's kinda what @npjohnson is doing by recommending that people use the nougat firmwares on the first few posts. They're the ones that are known to work the best until now, and those proprietary files are also the reason we still don't (and likely will never have) VoLTE and Wi-Fi Calling on the V20's custom roms unless a genius manages to reverse-engineer the frameworks in a way that allows them to work on customs.
I mean, maybe there's a decrypted and "tweakable" firmware out there, but if there is one, i didn't find it yet and messing with those things isn't exactly legal, so the most we can do is work around the firmware with the tools we have, and that's what we're doing.
But here's the thing: Most of my knowledge is on the kernel side of things, if anyone more knowledgeable than me, especially with roms can clear some things up, i'd really appreciate it.