The behaviour is perfectly normal. What you need to look carefully at is your response.
You commented that you didn’t like to see him sad so if he cried when you said no, then you changed your mind. How often? Be honest with yourself as it’s you and your son who will be affected, not us. If that happens once in a blue moon, fine. We have all done it occasionally. If it’s every time he cries, then that’s an issue as he will learn that throwing a tantrum gets him his own way. Which is not something that will endear him to teachers or friends later on. My rule of thumb was to ask myself “If I say no, and they have a fit, do I care enough to dig my heels in and see the tantrum through?” If the issue isn’t a big deal to me in the first place, then why not just say yes to begin with and save us all the angst?! (Can I wear fancy dress to the shops? I might initially have said no but really, I don’t care, so actually let’s just skip the no and the tantrum and go straight to yes. Compared to: Can I draw on that car with this stone? Nope, and the answer will still be no even if you are blue in the face from screaming!) That tactic meant my kids knew that when I said no, I meant it and there was no point in arguing, but that there was a reason and as they get older, we talk about those reasons.
Cuddles after being naughty? How long after? Immediately- not so good. It’s a bit mixed message if he’s being told off and cuddled kind of simultaneously, or if he’s not getting told off at all for being naughty - how does he learn? But telling off, a minute or two ‘out’ - not to think about it exactly but to reinforce that you aren’t pleased, and then a hug to reassure him you still love him? Great. No problem.
I’m not a Supernanny fan exactly, but she did put one thing quite well. Imagine you started a new job, but no one tells you what is expected of you, or points out where you are making mistakes, so you really aren’t sure what is going on or what will bring you rewards or a disciplinary action. It would be very confusing and upsetting. You want to know what you are expected to do, and you want to know what the ‘rules’ are, and what the consequences will be if you don’t follow them. That’s children. Free will, exploration etc - all good, but there needs to be some clear and consistent boundaries too, so they know where they are and they know what to expect. Your boundaries don’t have to be the same as anyone else’s but your child needs to know where your lines in the sand are, and what will happen if they cross them. You need to be consistent in showing him. He will feel so much more secure if he knows ‘I can do this, but not that, and if I do that Mummy and Daddy will do this..’
He will push them, that is normal, and that is where it is your job to be calm and consistent.
You may well be doing all of this already. I can’t tell and nor can anyone else on here. If he behaves at nursery he clearly can behave. He will push it more with you. Because he feels safest with you. He is little but not too little to know that certain things are not ok. You do need to work out with DH though what you want, because if things are muddled your son will be confused and your marriage will be under strain.