I think we should consider disallowing partial resolution in the manifests. It's definitely quite hard to spot unresolved template strings, as multiple factors can be a reason (missing dependency, wrong syntax etc).
For context, we allow partial resolution for resolving manifests
https://github.com/garden-io/garden/blob/main/core/src/plugins/kubernetes/kubernetes-type/common.ts#L428
And this might be on purpose to not throw error if manifest file has a custom string that looks like a template string but is not a Garden template string.