Обновление: Транзиент просто не сохраняется. Он сохраняется, когда я вызываю json_encode().
Кроме того, я не могу воспроизвести эту проблему на другом экземпляре WordPress, поэтому перемещаю этот запрос в службу поддержки, так как считаю, что проблема связана с WordPress. Подозреваю, что какое-то плагин безопасности может мешать.