Yeah, I've run in to this. The point about NAT makes me wonder though if it is really de-prioritization or just the network straining to handle all that recalculation of checksums.
It's legal to send UDP packets with a zero checksum, indicating "no checksum." This can be set at a UDP socket level in Linux. I wonder if that would make any difference?
(Of course this assumes your protocol has some alternate method of verifying transferred data, which many do.)
Whenever people talk about behavior/treatment of UDP traffic I consider DNS as a special case. I have no idea how AWS handles UDP but I will never use DNS as a generalizable example of UDP traffic.
At least in the past, it really was true. I've been burned by this before using UDP in AWS. In AWS, I've learned to be skeptical of using protocols other than TCP. That said, it consequently has been a long time since I've tested UDP over AWS.
DNS was precisely the area where we got bit by it.
We were using a Non-AWS DNS resolver (aka Google) and we would often get dns resolution errors despite our NAT not being remotely taxed by the traffic.