I think BJJ for a 4 year old is still a tad too young. Kids that young don't know how to apply forces properly yet, and they might get injured while rolling.
I practice BJJ and judo, and have noticed that it is difficult to keep kids interested in these two arts. Not sure why that is. Probably because they are very technical. My best friend has two kids that got bored of BJJ after six months. Instead, they much prefer Tae Kwon Do and Karate. Not my ideal choices, but whatever. I feel it's more important that the kids have fun so they stick with it. Later on they can branch out into grappling. Also, I practiced Krav Maga for a couple years and there is a kids program called KMX. I don't really know much about it, but it's probably worth investigating.
Like some mentioned, Karate isn't a martial arts most people prefer. I've done it for 8 1/2 years and have to say it's really not effective in a real fight, only if you train some other stuff outside of the dojo to prepare yourself with better moves. It's too static and some techniques are just too complicated and not suited/effective for a real fight at all. Karate also has the problem that in comparison to other martial arts there're way too many people that have character-issues and do it only to show off. Really hard to find a decent dojo and mentor that teaches your kid morale and discipline. I'd strongly recommend Kung Fu, Jeet Kune Do, Krav Maga or Wing Chun. Jeet Kune Do is one of the msot effective and straight martial arts and involves deep life philosophy. The techniques are for all situations, see kicking, punching, grappling, trapping,... If you can find a school teaching it and a suited mentor i'd recommend you to try it.
Style doesn't matter... it's all about the teacher. I'm not trying to make my nephew the best fighter, I want him to have a good foundation of respect, discipline and focus. If he wants to be a successful martial artist when he gets older, then he can choose any style(s) he wants. It's also key that he enjoys the classes and doesn't get burned out too quickly.