Hi Alex,
I have experience in both. I am very much for Pulumi as I have quite a lot of experience in coding.
In my opinion:
Choose Terraform if your team doesn't have too much experience in general-purpose programming languages (check
https://www.pulumi.com/docs/intro/languages/) and your code will not be very dynamic.
Pulumi is much, much better for those who know how to write code, tests, use their IDE, etc.
About the cons of Pulumi you have mentioned:
• We are using the open-source version of Pulumi (Apache License 2.0) with S3 as a state backend and KMS to encrypt secrets. So it can be for free too.
• The documentation/examples are worse than Terraform's but they are usually good enough. If not, you can often use the Terraform providers' documentation as Pulumi is using them.