Lambda@Edge is primarily event driven for requests, yes the latency is reduced but it is designed to be used with an origin. Even if you have the Lambda@Edge function your CloudFront distribution would still need to reach out to the origin.
When the origin is an API Gateway (with or without a Lambda) there are so many benefits come with it such as:
- Built in support for OpenAPI spec
- Built in routing
- Support for canary deployments
- Authentication and authorization built in, with support for throttling per API user
- Built in support for model schema validation
- Support to manage your API as Infrastructure as Code: CloudFormation, Terraform, SAM
- Each request can be developed separately, you can only have 1 Lambda@Edge function per event so you might see collisions in a team (not to mention very large functions).
If this was all needed to be done by Lambda@Edge then you would need to design, develop and maintain these features.
The price you refer to is for REST API, bare in mind there 3 kinds of API the cheapest is HTTP API which costs $1.00
per million requests.