I’m using ipxe.pxe for that as well without any modifications. The other clients didn’t require any changes, no matter the NIC type. I’ve had Atheros, Intel, Realtek in the clients to be imaged, giving each its own static lease with another bootfile is not all that feasible as some of them are only temporary.
e1000e in VMware translates to Intel 82574L, then we’ve got a few clients with I217LM, majority is Realtek RTL8111E based.
It does seem like some tftpd timeout per file, which interestingly only applies to the e1000e vNIC type. Maybe vmxnet3 is faster, who knows. In one test on e1000e it actually got as far as loading the init.xz for 77% after loading the bzimage completely with ipxe.pxe.