A.M.
to me when they start fighting it is when i change the terminology. i would go from announcing "it's nap time!" to just saying, "it's quiet time. you don't have to go to sleep, but you MUST be quiet. if you are not quiet, then it's time for a nap." if they are really fighting it then that should help them stay quiet. our rules, honestly, vary, depending on how tired i know he is and what i think he needs. he may not be that tired - i will tell him that for quiet time today, he must stay in his room and play quietly. if i am more tired than he is, i may put him in my room on my bed with me and let him watch a movie while "I" take a nap lol. or if he's just beat then "it's nap time" and he just goes to sleep. but - mine is almost 6, AND has never had trouble with naps. the only time he fights it is when he truly doesn't need one.
at 3 and 4, yes, i would enforce them being IN bed, and quiet. lights out too, but maybe one toy or book if they aren't too tired. but at 3 and 4 i believe they still need naps. calling it "quiet time" around this age almost always still led to an actual nap, at our house. but i know all kiddos are different.
mine is starting kindergarten next week and we still take naps more often than not :) but he CAN go without if necessary. so it's nice.