Here are a few things to note.
Four year olds can usually learn chess if they are keen, and can even progress to quite advanced theory. However, the younger the child, the slower the whole process is. A ten year old might master all the rules of the game in just a couple of sessions, but a four year old may take fifteen sessions to achieve the same.
Many young kids enjoy the fantasy element of chess and like to create their own rules. If this is your son's agenda, let him play with the pieces in whatever way he likes. He won't enjoy chess if he's made to stick to standard rules when he doesn't want to. One day he will want to use the standard rules in order to be able to play against other people. Often this happens around the age of seven, but some kids are willing to conform at a younger age. Personally I don't enjoy playing by kid-rules, and I usually refuse to do so by claiming that I might get confused. But that doesn't mean made-up rules are wrong for the child. I usually refer to the "standard" rules of chess rather than the "right" way to play.
Unlike card games, there is only one standard set of rules for chess. Don't let anyone tell your son otherwise. Many people are a bit muddled on some of the rules. (I hate the words "No, my dad says..."
because you have to find a very gentle way to break it to the child that dad is mistaken!) Unless you yourself have played in a league or tournament, there are probably a few of the more obscure rules which you don't know, so at some stage brush up on these. It isn't too hard.
There is a developmental step change relating to the ability to follow a diagonal visually on the chess board. Most children will be able to do this by four, but it can develop as late as eight. If your child doesn't "get" diagonals readily then there is nothing you can do to teach it to him, you just have to wait. In the meantime you must accept that his bishops will stray constantly! One day the ability to see a diagonal will come suddenly.
That's all I can think of at the moment, but let me know if you have any other questions.