Is there a particular reason that orders are hard-coded to be non-virtual? In \Yireo\EmailTester2\Model\Mailer\Variable\Order::getVariables(), there is this setting:
$order->setIsVirtual(false);
$order->setData('is_not_virtual', true);
I'm more than happy to submit a PR, but want to make sure there isn't some underlying reason for this.