Я бы сказал, это зависит от того, как используется ваше приложение.
Являются ли ответы на запросы уникальными на основе ключа пользователя / API? Если да, то если запрос выполняется нечасто, вероятно, нет смысла кэшировать в API Gateway.
Часто ли одни и те же данные извлекаются из DynamoDB? Если так, то DAX великолепен. Однако это дороже, так что имейте это в виду.
Лично я бы попытался сохранить кеширование на одном уровне, если бы мог, просто чтобы избежать путаницы, которая может возникнуть из-за кеширования:)