It sounds like you and she might have got into a bit of a negative spiral. She shuts down and gets avoidant when she’s done something wrong; you find this infuriating and end up shouting at her, which makes her more upset/avoidant (probably both at the time and as an overall pattern of behaviour), and so on.
My DD is a bit younger, but similar in that she gets very upset if she accidentally does something wrong (not so much if she’s deliberately testing boundaries!). Even that initial first ‘no!’ or ‘stop!’ when you realise she’s about to do something she shouldn’t upsets her. I find that I really have to stay very calm, almost soothing with her (although the initial no/stop does still happen, and as that keeps her safe, she’s going to have to learn to cope with it). I essentially have to calm her down before we can talk about the actual incident, or everything just escalates and she’s in no state to discuss why it was wrong or do anything to fix it. I try to view it as a part of managing her emotions that I have to help and support her to learn, and to remind myself that, really, disliking doing wrong/getting told off/etc. is a good thing.
I find it easier to stay calm myself if I have sort of stock response that I can just repeat for the calming down phase. For us at the moment, that’s often something like ‘It’s okay. You didn’t know and you stopped when I asked you to’, but something a bit more generic like ‘We can fix this. Let’s take some deep breaths together and calm down, and then we’ll talk’ might work better for you, and then as she’s calm and can see/hear that you’re calm, you can ask her to uncover her ears/eyes, or whatever.
With the behaviour you describe, I personally wouldn’t view the running away, fiddling, or hiding eyes/ears as naughtiness – I’d view that as an expression of her emotion that is perhaps annoying, but okay at her age, and that I need to support her to learn to handle better. If by ‘mildly aggressive’ you mean she’s hitting, throwing things, etc., then that’s not okay and does need dealing with, but if she’s not prone to doing it in other situations, I’d probably look to work on keeping calm myself first and see if that fixes it, and for now probably just remind her once everyone is calm that this hurts/can break things/etc. and is not good behaviour (and ideally get an apology). Rudeness is kind of in the middle. Calling you names, not on. Not looking at you/not answering you could well be part of the emotional response and more of a ‘can’t’ do it than a ‘won’t’.
With the incident with her cousin, I think you escalated it a bit by giving one of her toys to her cousin when her cousin’s toy was fixable, and she presumably hadn’t broken it deliberately. Losing a toy permanently is a pretty big sanction for a moment of four-year-old impulsiveness. What if instead you had stuck with ‘You broke cousin’s toy, so you need to help fix it; go help Daddy find some glue.’ and just repeated that, and not let her play with other things until it was done, ‘No, we need to fix cousin’s toy before we can play’, and so on?