I believe the commenters have handled this question rather well. Racket is not itself a constraint logic programming language, but it is a programming-language programming language, and so it is a great substrate. There are a goodly number of ways to perform logic and constraint-logic programming within Racket, and the right approach for you might depend on the particular problems you're interested in solving and the kinds of constraints you are after.
I do not know of a CLP(R) system in Racket, but cryptarithmetic puzzles certainly can be solved with variants of miniKanren and probably other approaches.
I think the most important general answer to your question is that in Racket, even a "worst-case scenario" of needing to build a new language can be a pretty pleasant experience.