Currently, the invoice in QuickBooks is for realized sales only, and it's a posting entry. Proforma invoice is different because it's a non-posting entry.
I have a workaround. We can create an estimate template and name it as Proforma Invoice, so it prints that way. An estimate is a non-posting entry.
Create an estimate template:
After creating the template, create an estimate (+New > Estimate), and select the Proforma Invoice (estimate) template.
Let me know how this workaround works for you. Have a good one!