Yes, I found out after posting above that currently it gave ALL the instances the “DBSubnet” instead of the “DefaultSubnet”
After setting it as you suggested, it worked correctly - and I was able to get rid of the default block entirely.
variable "instances" {
type = list(object({
name = string
type = string
subnet = optional(string, "defaultsubnet")
}))
}