fix: #3613670 Scope the Vary Accept-Language header to JSON:API and menu items responses
The Vary block in ResponseSubscriber::onRespond() ran for every cacheable response on the site; it is now guarded to JSON:API routes (core's route flag) plus the jsonapi_menu_items route by name (that route does not carry core's flag: jsonapi_menu_items builds on jsonapi_resources), and the header is appended dedupingly, comparing Vary tokens case-insensitively.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Closes #3613670