AWS lambda is super cheap at tiny scale. But if you get into any real constant load, it is way more expensive than a VM.
The other drawback of lambda is the flip side of having the server opaquely managed by AWS. It is so opaque you can't debug anything. At one startup we had a weird connectivity issue from lambda to RDS but it was impossible to diagnose given the lack of access so it went on for months.
Had it been running in a VM, I could've diagnosed that within an hour with tcpdump and bpf et.al.