The best choice depends on your reasons for learning Lisp. If it's to work through Structure and Interpretation of Computer Programs or just learning in general, then Racket is the way to go. Teaching Lisp is embedded in its culture.
On the other hand, if you are hard core all day with the JVM, then Clojure. But I would not recommend Clojure as a first Lisp. Its community is very much organized around being a better JVM language, somewhat around teaching people Clojure in that context, and not really around introducing people to Lisp. It's more about providing Lisp to the JVM programmer and JVM to the Common Lisp programmer.
As for learning Common Lisp, if you're plan is to work your way through Graham's On Lisp or Hoyte's Let Over Lambda then it makes sense.
Of course any of them make sense if it's for work.
I'd never suggest it as a good starting point for learning Lisp. Clojure's design inherits some implementation details from Java and the JVM. ClojureScript has amother layer of limitations based on ECMAscript's specification. They make sense If one understands Clojure as a response to the JVM and has a similar understanding of JavaScript's specification. Without that it's going to be hard to have an intuitive feel for the ways in which it's been ported. And given its lack of standalone documentation the a programmer is even more on their own.
On the other hand, if you are hard core all day with the JVM, then Clojure. But I would not recommend Clojure as a first Lisp. Its community is very much organized around being a better JVM language, somewhat around teaching people Clojure in that context, and not really around introducing people to Lisp. It's more about providing Lisp to the JVM programmer and JVM to the Common Lisp programmer.
As for learning Common Lisp, if you're plan is to work your way through Graham's On Lisp or Hoyte's Let Over Lambda then it makes sense.
Of course any of them make sense if it's for work.