My answer would be: because even if you pretend that the backreference does
get evaluated, you're then asking for (\d+).{"3"} instead of (\d).{3} --
that is, the character "3" instead of the value 3. There is no implicit
mechanism for converting the string value of a backreference into a numeric
value that I know of, so consequently, there is no support for using
backreferences in a count clause.
The best I can think of would be for you to process the string twice. Once
with the (\d+) regex to get the "3". Then, manually build the string
"(\d)+.{3}" and see if your input matches that. At least becuase the "3" is
a string and the second regex is also a string, you get to skip converting
the "3" to an integer and back! Sort of ironic, that, given the nature of
why you can't use a backreference in a count clause in the first place...