The synched_folder parameters may resolve the shared folder issue when running the Vagrant boxes under Windows.
puppet.vm.synced_folder 'etc-puppet', '/etc/puppet',
owner: 'root',
group: 'root',
create: true,
mount_options: ['dmode=775','fmode=664']
These are faked and can't be modified within the VM, and still won't resolve any issues with linked files.
(I've tried it and it helps, but not resolved, may need a different user or group.)