I hate to say it, but this is pretty typical behavior for the age. It sounds like she's in a season of testing you, so do your part in staying very calm (what I like to call 'emotionally neutral') and following through on the correction.
I would also ask: would redirection work better than a warning? I feel, in many situations, redirection is better than a power struggle. I also think that, sometimes, we are quick to react and 'rein in the child' because we feel other parents are going to think poorly of us. The problem with constantly using warnings and threats is that it doesn't give kids a chance to find out *why* something might (or might now) be a good idea. Take the chocolate situation. What happened after she defied you? I might have shook my head and then waited until another treat/sweet was asked for later that day. "Oh, remember all the chocolate you had at the park? That was your treat for today." Matter of fact, the consequence is delivered more naturally.
I will say that I didn't come around to this way of parenting (delaying a consequence to a later moment) immediately but I find this is rather useful. It doesn't mean I let my son do 'whatever', but in limiting how many times he is told "do this or else", it makes the situation less intense. "No you don't have to clean your room right now, but it does have to be done before you get any tv time. Oh, tv time came and your room is still a mess.. bummer. Better get on that, huh? What, you missed your show today? Bummer." Lots of empathy for the fact that they are still learning how to get it together and less discussion of rules, they are just a matter of fact. Didn't do your homework and now Charlie's mom calls for a playdate? "Well, thanks so much for the invite, maybe another day, Kiddo has homework to do."
Do you see where I'm going with this? If we rule our children with threats in the moment, they just learn not to get caught when they are trying to misbehave (the sneaking chocolate is a great example).
For what it's worth, I used to keep Kiddo on a short leash, too. If he didn't do something, it was a time out until he did it. Now, though, he knows that if I ask him to do something and he refuses, I'll just say "never mind" and walk away. He knows that the "never mind" means that something may be in store for him later. "Oh, yeah, remember when you didn't want to help me with XYZ? Well, I'm not interested in helping you with (example) getting the art supplies out right now. Maybe another time." "Oh, remember when I folded your clothes and you complained at me because you had to put them away? I have a pile of clothes for you here-- since you were mad that I had clothes folded for you, you can fold them yourself." At the very least, it will likely spark a conversation.
Some things (like, say, wearing sunblock or a helmet) are non-negotiable. This is for safety's sake. But a lot of conflict with kids isn't about safety but more about respect. There is still a mythology and belief around parents being able to 'control' their child, when we all know how silly that idea is. Would we ask someone to 'control' another adult? I mean, they are people, not dogs. On one particularly argumentative day, my son wanted to go to the park and I told him no. I was just tired of arguing and wanted pleasant company if we were going out, so we'll do it another day. Simple. There were no previous warnings, just simple logic: you are being unpleasant and going out with an unpleasant person is no fun. Start letting her LEARN why it's in her best interest to get along instead of making everything a 'do this or that will happen' power struggle.
Oh, and PS-- The Look used to do nothing for me, either. Until I changed how I managed this situation-- now The Look is highly effective, because he knows that, sometime later, what he is doing will bite him in the butt if he doesn't stop.