My Atlas Serverless Cluster is significantly faster than my Atlas M20 Dedicated Cluster

I have the same data on both clusters: a collection with 1 million documents, ~3 GB. Both have the same indexes, totaling ~300MB.

In 2 days of testing, I have accumulated $67 costs from my serverless cluster, mostly from reads (RPU).

My queries are significantly faster on the serverless cluster than on the M20 (10 GB storage and 2 GB RAM).

Furthermore, it appears that on the serverless cluster, data is being cache on the RAM, since when I run the same query multiple times it gets faster after the first view runs. This is not true on the M20.

Why