discuss.answer
UPDATE: At this point I know that prior to $this->modx->parser->processElementTags('',$redirectParams,true,true); the value of $redirectParams is '{"id":"[[!+grow.id]]"}' and after the parser runs the value of $redirectParams is '{"id":""}'.
This means, the placeholder wasn't set by your snippet at this point, for some reason.
I dont't think, its a failure of the parser.
Making the placeholder tag uncached delays its processing, so it's probably not set at the time the outer tag (or the output modifier) executes.