fix: Use by-reference capture in setSlotFromRenderArray closures

Arrow functions (fn()) capture variables by value, so when renderInIsolation() bubbles child cache metadata into build['#cache'], it modifies the closure's copy rather than the original. The subsequent BubbleableMetadata::createFromRenderArray(build) then reads stale data, silently dropping all cache metadata bubbled during rendering (e.g. max-age: 0 from form CSRF tokens).

Replace arrow functions with regular closures using &$build (by-reference capture) so rendered cache metadata is preserved.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

Closes #3575750

Merge request reports

Loading