O problema é que hiera_include usará as classes de todos os níveis (provavelmente usa hiera_array).
Isso provavelmente funcionará:
[root@puppetmaster puppet]# cat hieradata/common.yaml
---
classes:
- ldap
- motd
- ntp
- puppet-conf
[root@puppetmaster puppet]# cat hieradata/environment/tst/tst-01.yaml
---
classes:
- puppet-update
- public-keys
- motd
- ntp
- puppet-conf
No node-def:
class { hiera('classes'): }
O ponto negativo é que você teria que especificar todas as classes no arquivo hiera específico do host, se você substituir o padrão.
Isso ajuda?