I'm noticing that you are asking him "why" he feels a certain way. Do you know that they can't answer that question at his age? He has no idea why. At the very best, he will parrot back what he heard an adult say was the reason for his behaviour. My 7yo is still not able to adequately answer the "why" question unless someone makes a suggestion to him first.
Don't give such a small child the job of interpreting his behaviour on your behalf. YOU are the one who interprets, not him, he's not old enough and it's giving him WAY too much power, how scary for him to know his mum doesn't know why he's acting as he does...
I would take the tack of accepting him as he is right now, and that he will learn and change in time. It sounds like he just hates transitions. Most people do, we just learn to hide it and cope with it better. That's what he will learn, if you let him.
So -
Choose what has to happen every day. Be mindful that you can't die on all the hills. E.g., does it matter that he favours Dad? Is this about your ego? To what extent to you need to relieve DH? Have that discussion as parents and set a reasonable goal, e.g., you'll bath DS twice a week so that Dad can have a break, and DS can learn a bit of flexibility.
Then be kind but firm. DS can scream his head off in the bath twice a week. You just sit there, letting him get on with it. If he screams too much, put in ear plugs. Narrate it all calmly. "I know DS, you want Daddy don't you. I understand. Anyway Daddy needs a rest, Mummy's in charge this evening. I know. I know. OK your screams are too loud, I'm plugging my ears." And sit. And let him perform. And when bathtime is done, move on calmly to the next activity of the evening. If he starts telling you he hates you, or asking why Daddy doesn't love him, etc. you can either ignore, or say very simply, "Everything is OK. Everyone here loves you. We are all trying our best, we're all tired but we'll get through this." That type of thing. No debate - just reassurance and then move on.
Don't allow yourself the luxury of getting visibly exasperated - that's about you letting off steam, not about giving DS space to learn how to cope with change. Just keep it kind, firm, quiet and brisk.
And don't get drawn into some kind of crazy discussion of "why" with a 4yo. He has no idea why. YOU have to work out why, and you may not even be able to share the "why" with him, he's not old enough for that. At this stage, he needs space to learn how to stay calm when things aren't optimal - and then several YEARS after that, he MIGHT figure out "why" he hates when things aren't optimal.
He'll only learn to find calm, by watching you being calm.
Honestly you just need to keep it very very simple, perhaps read up a bit on what children are learning emotionally at each stage of their lives, and just focus on giving them safe time and space to learn those things.
You can't "command respect" from a 4yo, unless you literally beat and abuse them. A child his age is trying to work out how the fuck he's to stay calm, in general. Once he's got that down, as long as you've not reacted as if it's a catastrophe, then he will treat you very gently and respectfully. But he's not there yet, and you asking him "why" or trying to negotiate or convince him is not going to help with that. You're going to panic him and cause him to spiral more and more into fuckery, it won't help anyone.