It seems like, and I have only briefly read the article, Crossplane is meant to bring all that application specific cloud infrastructure into the same configuration files you would use for defining you Kubernetes application.
So along with defining your ingress you define your mysql database and it gets provisioned. This keeps all your application specific provisioning together instead of having to use Terraform to provision your database ahead of time and keep it in sync with the application.