Maybe you can go to a certain NPC or do certain actions to get off your World PvP flag, I really don't like the whole simplicity of doing everything with just a simple click.
The other thing that could be done is making a max level difference, if I'm level 20 and you are 25 we can fight, but if you are level 35 you can't fight me no matter I have world PvP enabled.
I think your idea of going to a certain NPC or doing certain actions to get off your World PvP flag is interesting, but it might be too complicated or time-consuming for some players1. Maybe there could be a cooldown period after you turn off your World PvP flag, so you can’t just switch it on and off whenever you want. I agree with you that there should be a max level difference for open world PvP, but I think 5 levels is too small. Maybe 10 levels would be more reasonable, so there is still some challenge and risk involved. Otherwise, high level players might avoid low level zones altogether, which would make the world less dynamic and immersive.