I've never heard of Terramate. I just use Terraform to do all this... I use what they refer to as "stacks" naturally. I use a global module with the same kinds of environment config overrides pattern that they recommend. I use "interface" modules to manage the contracts between stacks and handle dependencies. Then I use Env0's workflow system to orchestrate everything together... which is the only non-terraform shit I use for any of this.
I keep my stuff really DRY, but I fell into patterns that didn't really require tools like Terragrunt or Terramate.