Its a lot dumber than that.
All Lisp commands are uppercase. Lispers didn't like that. But instead of changing the language they changed the parser to automatically upcase all symbols at read time. Some other fuckery happens at print time that I'm still unclear about. So...
(defvar x 0)
is translated to...
(DEFVAR X 0)
at read time. And...
(defvar X 1)
is translated to...
(DEFVAR X 1)
at read time.
This creates the illusion that symbols are case-insensitive when they really are not.
Remember this is default behavior that Lispers intentionally created.
Now we can disable the read time fuckery but then we're stuck typing symbols in all caps. There are other options such as CS-COMMON-LISP-USER package but that breaks other things that are expecting the read time fuckery.
So Lisp, a case-sensitive language, has created the illusion of case-insensitivity and then made that illusion a reality by making parts of the system depend on that illusion.
MIT Scheme does something similar.