I love how Leo is the only one actually reacting like a person should react in this situation :D the warlock(s) just standing there and staring, the witches just slowly realizing they can't do anything and then accepting it and Piper and Phoebe not reacting to Paige's death as well as Piper not reacting to Phoebe's :D
Another HUGE plot hole, they established many times at this point already that even if they lose their powers they are still witches ,still magical beings with magic so Phoebe's spell should have worked, not to mention the potion should work even if a mortal threw it at them,they are still demons and aren't immune to them. This entire setup is lazy sloppy and only used for shock effects and story convenience is what i deduce after so many years and times of watching it.
I think you're ultimately right about sloppy writing for convenience. But I still want to offer an in world explanation if I can. It's possible Bakara used magic before he arrived to make both warlocks immune to witches' magic. So for instance if Billie or Chris were also in the attic and cast the spell, it wouldn't have worked either. Same goes for the potion. We've seen many instances where demons are immune to their own vanquish potion taken straight from the book e.g. the soul auctioning demon from S6 who was immune to a vanquish potion because he acquired more power to make him a higher level demon. So maybe Bakara did the same.
I still don’t understand that after all those years of being witches, THIS is the demon that came the closest of actually destroying the charmed ones. Like, why him?? I felt like the writers went a bit overboard in this episode.