I would start observing the top command output when doing the speed testOther thing that comes in my mind: packet fragmentation? maybe take a capture of the WAN traffic on the OPNsense box
Interfaces : LAN : mss to 1300 for a first test
there's really few data in that capture, do- start the capture- run speedtest, or download a big file- stop the captureI suggest to insert - 0 as "count"- "72" as Packet Length, so only the headers are grabbed
https://workupload.com/file/ycKxSmB3fzh
BTW: looks like you have TCP timestamps disabled?try executing[root@myfw ~]# sysctl net.inet.tcp.rfc1323net.inet.tcp.rfc1323: 1