Server push для этой задачи как раз не подходит - браузер принимает только те ресурсы, которые были бы запрошены текущей страницей и пропихнуть таким образом следующие не выйдет.
В принципе, Александр Марченко прав - можно записывать на диск файл для конкретного клиента и не генерировать его каждый раз. А если вы ещё и токен будете передавать не как get-параметр, а как часть URL, то вы и заголовки кеширования сможете нормальные поставить. Такое решение упростит ваш код и сделает его более надёжным (не будет зависимости от дополнительного запроса настроек).
Да, чтобы вопрос не удалили, нужно показать, что вы что-то попытались сделать самостоятельно, рассказать, что не получается, чтобы не было ощущения, что вы ждёте, что всё сделают за вас.
На ваш вопрос невозможно ответить, не видя полного кода, в котором воспроизводится проблема. Разумеется, console.log(_mainCatalog) ничего не очищает и ошибка где-то в вашем коде.
https://pugjs.org/language/attributes.html#attributes