This is not how Foreman works. See, Foreman always assumes you are installing a single OS and it will only prepare PXE files for that particular OS. Template is rendered with variables set in a way that you are installing that OS, meaning PXE kernel and initramdisk is set to a single path. This wont work.
However, Foreman has a (quite hidden) feature that allows you to do exactly what you need - this is called a hostgroup provisioning. You create multiple hostgroups like Debian 10, CentOS 8 Stream and AlmaLinux 8.5 and then after association of hostgroup combinations, you can actually start servers and register them into Foreman even without creating them in Foreman in advance. That is the good news for you.
The bad news is this is not documented, I would love to remove this feature at some point and replace with with more simple approach - just a single template (PXE, provision), a button that would download all PXE files and registration via our host registration snippet instead of Puppet. Similar question last year:
Here is a video that describes, it is longer because it also shows how to synchronize content via Katello, if you do not use Katello you can just skip this and simply use an installation media: