In order to facilitate people moving to Puppet 4 only versions of their module the Puppet Module Tool should learn to respect the Puppet version constraint in metadata.json. If a module is to be installed on a Puppet 3.8 system (without future parser enabled) it should default to installing the latest version that is Puppet 3 compatible, not just the latest.
Relying on metadata.json is problematic, because the module may be installed on puppetserver, but pluginsynced to agents on different platforms and earlier versions. Given Puppet 3 & 4 are so old, I'm going to close this out. Please reopen if this is still an issue with more modern puppet versions.