This will likely require research using count = data.coder_workspace.me.start_count set appropriately on resources that need to be spun down vs persisting through shutdown.
Since most of our kubernetes resources are created dynamically via cluster-api, we will need to leave them 'up' and only run what is necessary to suspend the created VMs.
I would suggest figuring out how to suspend / restore the created KubeVirt VMs without updating the template first. Then work back and add support for the appropriate terraform resource to do the same.