Ok thanks Noam. Then I conclude this isn't a bug per se.

On Sat, Jun 18, 2016 at 9:13 AM, Noam Postavsky <npostavs@users.sourceforge.net> wrote:
rx is a macro so it doesn't see runtime bindings, using
let-when-compile (new in Emacs 25) works:

(let-when-compile ((page-name "the page"))
  (rx "[[" (eval page-name) "]]"))

Not sure if the plain let case can/should be fixed.