I am running the puppet-collection 7 with facter 4.0.46 that comes along. I have a few containers that are inside OpenVZ / Virtuozzo environment. Previously it was matched correctly as "openvz" or "openvzhe", now its just "physical":
[root@zen10:~] # systemd-detect-virt
openvz
[root@zen10:~] # facter is_virtual virtual
is_virtual => false
virtual => physical
[root@zen10:~] # facter -v
4.0.46
On a similar system, albeit not updates to Puppet 7: