Gently talking to him and time outs and taking things away aren't going to make him understand that his behavior is disrespectful. Yes, he probably does this at home and not other places... simply because at HOME he is loved no matter what, and he knows it. (This is a GOOD thing). At school/on the bus/etc.. he must be mindful that he doesn't do/say these things to the wrong person(s). At home... he is loved unconditionally. This is why so many kids have tantrums after the end of the school day when they are finally back in their comfort /safe zone.
That said, you must make him understand that it is disrespectful to speak to you (or his grandparents or anyone in authority) that way. And that it will not be tolerated. He WILL show respect to you, and he will be punished for disrespect. Telling him it is hurtful is kinda generic. Doesn't mean much to him. Telling him that he is not showing his MOTHER the proper respect might be more clear. Clearly he knows what respect is.. he shows it to his teachers at school. He knows to say "yes ma'am" doesn't he? And "thank you"? It's all part of the same thing... good manners, being respectful. Frankly, you can be respectful and still say things that hurt feelings. ("the truth hurts" comes immediately to mind). He needs to concentrate on being respectful. It is okay for him to tell you that he doesn't want to do this or that. That he doesn't like the getting ready for school routine, or anything else, for that matter. But he can't DEMONSTRATE it by hiding, swatting at you or calling you names.. that is NOT ok.
Now, THAT said, He needs to feel safe telling you that he is unhappy about having to go to school (and it sounds to me like the underlying issue with ALL of this is that there are some things about the bus that need to be addressed so that he will not be so unhappy/uncomfortable riding it - or maybe take him Off it if you can), but he needs make his feelings on this known in a respectful manner.
I hope this helps.
FWIW, my 11 year finally rode the bus for the first time ever this year. He rode it a total of 9 days. He said he didn't like it. Not, (surprisingly), because he had to be up and ready to go almost 40 minutes earlier in the morning; but because the older kids on the bus were loud, obnoxious, rude, and used a lot of foul language. He was extremely uncomfortable in the situation. So, since it was an option, we decided to not use the bus. If you are able to work out other transportation, I would consider how much the bus ride is affecting your son's feelings about school. If you remove that discomfort (which seems like he is crying out for by hiding and not wanting to get ready for school) then you may just be eliminating 90% of the disrespect issues. Particularly in light of the fact that his personality reverted to "normal" with a different bus driver.
Best wishes dear.