This might be a bit outing, but... I've been called "Elephant" for as long as I can remember, inside the family. Obviously that's not my actual name in any form... but I was apparently very chubby as a baby and my grandmother decided to run with it! For a brief while, I was also called "Pig-Face", for similar reasons. My younger cousins call me "Ellie" (without understanding the back-story behind it, really) which I think I prefer to "Piggy"...
My mother hated the nickname "Pig-Face", but could no nothing to stop her father from calling me it. To my father, I've always been "Sweetpea" (after the baby from Popeye cartoons) and to my mother, I'm permanently "Fred" (which also has nothing to do with my actual name!)
DB1's nickname is a Welsh given name, which has absolutely nothing to do with his birth-name, whilst DB2's is "Jolly" because he's tall, like the Jolly Green Giant... My own children's family nicknames are "Bartholomew" (for my daughter, after a naughty little bear who said "nah!" instead of "no", which she insisted on saying as a 2 year old) and "Poppy Imogen" (my son, whose haircut one time resembled that of a photograph of Enid Blyton's daughter, Imogen... whilst Poppy came from Poppet, which was my father's name for him as a baby). Their teachers, friends, and actually their father's family all have completely different names for them - most often the name which is on their birth certificates, or a version derived from that name. Although my son's friends call him "Late", because he always is!
In other words, OP, you're going to have worse/more important things to stress about than your son's nickname. Go with the proverbial flow over it, I'm afraid. Your son will either answer to "AJ" or "Alex", or maybe even "Xander" or "Zan"... and there's nothing that you can do to dictate it. The first gift we, as parents, give to our children is their name... and we all know that we therefore have no control over what they choose to allow others to do with that name, I'm afraid.