Domywifi DW33D QCA9558 UDP packet loss when NAT

Use iperf3 test, NAT TCP working good(~300Mbps), but UDP can not handle 30Mbps or higher, or the packet will loss very much.
I tried set WAN to both eth0 and eth1, set LAN to the same eth as WAN or different eth, all the same issue.
Is QCA9558 can only handle this little bandwidth? Or my router have hardware bug?
How can I determine what thing is broken?

My JCG Q20(MT7621) have this issue too, especially TX. RX works good.
And the JCG Q20 LAN to LAN can only reach 700Mbps, why it can not reach 950Mbps as the Newifi D2(MT7621 too).

DW33D and Q20 are both newest openwrt source built.

Edit: The Q20's issue seems caused by DW33D. I will do more test and update results.

Edit2:Built new firmware for Q20 and it works normally now.

Test with dw33d/official firmware(qsdk, based on openwrt 12.09-rc1), no upload issue anymore.

Test with Q20(MT7621), Padavan do not have the issue(UDP packet loss when NAT, and cause the low bandwidth for upload), but OpenWrt have( I guess may related to Linux kernel.) Both 5.4 or 5.10 kernel have the issues.

Test with Newifi D2(MT7621) and kernel 5.4/5.10, have the issue too. But in Pandorabox( based on openwrt, linux kernel 3.18) it have no upload issue.

I think the MT7621's issue may cause by different reason compared to QCA9558. But they do have the same issue in using.

I need filter for some unwanted DHCP server, so I need compile busybox(which have dhcp client, I can drop the unnecessary DHCP offer), or use ebtables. Both methods can not apply to official firmware for dw33d. Will there be some solutions?