By default, when there is a need to replace a resource, Pulumi will create the replacement before deleting the previous version to try to ensure no downtime during the deployment.
In some cases (like what I understand of your case) though there is a scarce resource and so the delete must happen before the recreate.
We just yesterday merged support for opting in to this “delete before replace” semantics for a specific resource. See
https://github.com/pulumi/pulumi/pull/2415. We have not yet rolled this out to all providers though - that will likely happen early next week.
In the meantime, you may need to go behind the scenes and delete the resource directly from kubernetes, then use
Pulumi state delete
to manually remove it from Pulumi state file:
https://pulumi.io/reference/cli/pulumi_state_delete.html