I'm going to mark this SOLVED here in a minute. Here's what worked:
I went into System > Trust > Authorities and edited the one I put in there last night for Sectigo. Cleared out the Certificate Data field and made sure there was nothing in there... no newline/carriage returns, nothing there. Then I opened the ca-bundle file from Sectigo, and Control-A, Control-C, Control-V'ed it into the Certificate data field. Click Save.
Next I went to System > Trust > Certificates and Edited the new certificate. I cleared out all of the certificate fields as above.... no anything in there that doesn't belong. Then I opened each file: cert.pem/cert.crt, cert.key, cert.csr. Again with Control-A, Control-C, Control-V for each of them into the appropriate fields.
Here's the "magic": After this, I went to the bottom of each field and made certain there was a single carriage return/newline after the "-----". Just one. No more, no less. Save the certificate.
Add it to HAProxy and test. It suddenly works.
Why does this matter on HAProxy and not anywhere else? I have no idea. Why on OPNsense and possibly nowhere else? Again, no idea. All I can tell you is, the fullchain.pem passes all tests with flying colors, but it does not work without the above solution here.
As usual, I provide this information with my standard warranty on forums. If this worked for you, great. If it didn't work for you, well, you got what you paid for. Hopefully it's the former. But it's worth providing the information to everyone if I'm going to post the question and I find an answer that works for me.
I went into System > Trust > Authorities and edited the one I put in there last night for Sectigo. Cleared out the Certificate Data field and made sure there was nothing in there... no newline/carriage returns, nothing there. Then I opened the ca-bundle file from Sectigo, and Control-A, Control-C, Control-V'ed it into the Certificate data field. Click Save.
Next I went to System > Trust > Certificates and Edited the new certificate. I cleared out all of the certificate fields as above.... no anything in there that doesn't belong. Then I opened each file: cert.pem/cert.crt, cert.key, cert.csr. Again with Control-A, Control-C, Control-V for each of them into the appropriate fields.
Here's the "magic": After this, I went to the bottom of each field and made certain there was a single carriage return/newline after the "-----". Just one. No more, no less. Save the certificate.
Add it to HAProxy and test. It suddenly works.
Why does this matter on HAProxy and not anywhere else? I have no idea. Why on OPNsense and possibly nowhere else? Again, no idea. All I can tell you is, the fullchain.pem passes all tests with flying colors, but it does not work without the above solution here.
As usual, I provide this information with my standard warranty on forums. If this worked for you, great. If it didn't work for you, well, you got what you paid for. Hopefully it's the former. But it's worth providing the information to everyone if I'm going to post the question and I find an answer that works for me.
"