unqualified answer from myself (regular pulumi user who tried out jenkinsx ~3 months ago): Pulumi can’t be directly compared to jenkins x. Jenkins X is an opinionated end to end CI/CD pipeline for kubernetes with a few CLI tools and a UI around. Jenkins X itself is composed of multiple components. One of the components / opinions it has it that you should use helm to package AND deploy your k8s application to kubernetes. This means you will have to write a few go templates / yaml files which describe your app infrastructure (for very standard apps jenkinsx can auto-generate them) and they are being deployed via helm / tiller to your cluster. jenkins x hides / wraps some of helm, but essentially you probably have to author and understand helm.
Pulumi (in the context of kubernetes) can be considered a replacement for helm. You author your k8s infrastructure in a real programming language (typescript / python / go) instead of authoring yaml-ish go-templates. Also pulumis CLI and runtime can do deployment (vs helm / tiller). What pulumi can not do is built-in CI. Instead you can use pulumi in the context of your self chosen CI platform (jenkins, circleci, travis, github actions ….) .
On a scope perspective jenkins seems to be focused to streamline development and deployment for applications deployed on kubernetes. It however does not help you really setting up your core infrastructure (e.g. a kubernetes cluster, external dns entries, load balancers, dbs) or cluster-wide services. Pulumi instead helps to develop (or setup) and deploy both your core infrastructure AND the applications deployed on that infrastructure.
On a side note: It theoretically would be possible that jenkins x in future replaces helm (or at least gives the option) with pulumi in the pipeline but that’s up to the jenkins x project.