I used to put my daughter to bed at 8 pm. As she was not tired enough to sleep I'd stay with her in the room pretending that I am very tired and ignoring anything she would do. That would be: "I want potty," ok that's fine; "I want water" ok you can have water; she would sing, ask me lots of questions, talk about anything, change her pyjama, change the end of the bed where she wants to sleep, pinch and scratch me, and eventually I would get upset and leave. That was approx 1-2 h long. Being calm for that time made her more agitated and eventually would start crying and coughing and if she was put back to bed or ignored would make herself sick would vomit all over the bed and cry hysterically until mum would come back.
My solution: we skip the entire bedtime drama and she should stay head down on the pillow as I am just outside the door nursing the newborn. It does not work if I am soft and nice as she would still do the entire shouting, crying, vomiting.
Bath before bed done, reading stories done, talking about the past day and the following day done as well, running around and wearing her off done and helps a lot. Honestly I think she can not control herself and she can't help herself being naughty.