TLS 1.3 requires a few changes because 1.3 pretends to be 1.2 with a record type of application data. The "real" record type is then included at the end of the user-supplied plaintext data. This required added a field to the mbuf_ext_pgs struct to save the record type, and passing the real record type to the sw_encrypt() ktls backend functions.
The only SW backend that currently supports 1.3 is a version of ISA-L used at Netflix. When this patch lands, I will update the review for the ISA-L port to include 1.3 support. (https://reviews.freebsd.org/D21446)