Any chance you copied over a bare metal box image, or something?
In any case, facter would seem to have only a handful of checks to determine "virtual" or non-virtual... unfortunately I don't have a vmware box in front of me to verify this, but you should be able to find facter's "virtual" tests in some place like:
/usr/lib/ruby/1.[89]/facter/util/virtual.rb
(slightly more convoluted if you're running puppet under rvm)
At first glance, for VMWare, it appears to be looking for /proc/self/status and/or /proc/virtual.