If his behaviour is Ok at school but not at home that suggest that school have a firmer approach and he knows the boundaries there.
He also knows the boundaries or lack of them at home and knows exactly what he can get away with.
The opposite of your parenting is not shouty unkind parenting which is what you seem to think.
It is unkind to allow children to have free rein and behave badly and call it 'positive parenting' You are doing your child a disservice, because it will at some point start to impact his life - he will get less invitations to others houses if he is back chatty and argumentative.
He will run into trouble when he hits his teens and starts to get a bit naturally stroppy and unco operative, because he will not have the underlying behavioural self-controls in place to allow him to stop his hormonal changes ruling his behaviour.
When he argues about e.g throwing a rock - don't give him attention by arguing -that is what he wants.
You tell him to put the rock down, he starts to say 'it's not a rock blah blah blah' you say in a quiet very firm voice 'put it down now'. No need to shout. And when he does what he's told you move straight on.
All kids can argue the hind legs of a donkey, but sometimes as adults you just need them to know that when you say something in a particular tone it means 'do it now'. And that is stuff that can hurt them or others.
You have to know that they will do what you say when they hear that voice, otherwise you cannot keep them safe.
He has clearly become very skilled in the art of misdirection. "If I say something completely off the point, it will distract from the fact that I have done something wrong."
So rather than getting caught up in his argument and discussing that ( eg it was his dad's fault for coming out of the toilet) You just say quietly and firmly 'No. Listen. You hurt Daddy because you were running in the hallway.'
And if he argues repeat it firmly and precisely. Show him his distraction attempts are not working by clearly stating what he has done back to him.
"Little brother can't understand" 'No, listen. You are being unkind to little brother and you need to stop.'
Reward positive behaviour with attention and praise. At the moment you are rewarding poor behaviour with attention by getting caught up in his arguments.
If you want him to have a channel for his logical thought, redirect it positively. Play debating games with him, where he has to put a certain case. Or bring up a topic of general interest and ask for his views and get him to think them through and also help him to understand that debating involves listening to others views too and considering them. That might help him be more empathetic.