I think you are doing exactly what you should be doing - and don't give in to his stalling! Keep to your routine exactly, even more than normal, so your child knows what to expect. Take care of all needs in advance (sip of water, potty, etc.), then let him know it's night night time (or whatever your words are), put the baby gate up and leave. Don't give in to any requests. Set an amount of time that works for you, such as 1 hr or 1.5 hrs, to leave him there. Just assume he's getting some kind of rest even if he's not sleeping. He's learning about quiet time!
In my opinion, you can't MAKE them sleep at this point, so having set routines and rules helps iron out these acts of indpendence. Don't stress too much about the sleep, and work more on the routines and schedules. If he misses the nap, move bedtime up by as much as an hour.
I hope this helps. I spent way too much time "making" my ow 4-yo nap when he was 2/2.5, and I finally just had to give up, as I then was having nighttime battles too. I wish I had just put a gate up and let him do his thing. I finally dropped the nap before he was 3, and honestly, now he sometimes naps happily on his own and he's almost 4.5! I'm just much more relaxed about it, and on days when I think he might need it I give him a quiet time for a set amount of time and it's so much better because it's not a battle of wills - so he has no game to play!