@ramnad: As a note, if you are going to do a big upgrade, you should know that Puppet 9 is around the corner. OpenVox 9 (the community-built OSS version) and Puppet Core 9 (the Perforce closed-source version) are both coming out soon. As you move, you might want to look at making sure your new setup is ready for version 9 so the next upgrade won't be that bad. Most of the changes vs Puppet 8 are mostly to underlying components (Ruby in particular). So if you get to v8, the move to v9 should be much easier.
You mentioned Puppet 8 OSS, but be sure to know that the current version of
Open Source Puppet stops at version 8.10 in October 2024. While that repo hasn't been archived yet, and may still get updates in the future at some point, ongoing development is happening with Puppet Core and OpenVox releases instead. If you aren't sure which way you want to go yet, you can still go to that 8.10 version of Open Source Puppet and then when you make a choice both upgrade paths should be much easier than moving from Puppet 4.