1. Клиент - ваш враг! Это единственно-верный подход при разработке web-сервисов. У клиента может быть дырявый древний браузер насквозь пробитый вирусами и вредоносными расширениями. Ваша задача - максимально обезопасить и сервер и бедного юзверя от этой гадости.
2. Поэтому лучше всего генерировать куку на сервере. И не простую, а минимум:
- HttpOnly
- Secure
- SameSite=lax
3. Приложите уникальный CSRF-токен, и спите относительно спокойно.
4. Если же вашему JavaScript ну очень нужна именно в куке какая-то дополнительная информация, не содержащая критических защищённых данных, то можете установить вторую куку откуда угодно. Но эти данные также надо считать вражескими и везде перепроверять.