Terraform and Chef definitely go well together. Like peanut butter and chocolate. Terraform is great at provisioning cloud resources but not so great at configuring the details once they're up, Chef is great at configuring servers that exist but can't do squat to provision them in the first place. At my job we use both of them quite a bit to manage our stateful EC2 instances, because of the way they complement each other.
> For the stragglers not yet primarily on Kubernetes and Terraform
In my experience - you see all three of these, k8s, TF and chef working in the same cluster. But, I'm only an anecdote of n=2.