IP fragmentation does not really have anything to do with UDP, it can happen regardless of the inner protocol.
> Worst of all, this was all avoidable.
It is not that simple. To avoid fragmentation you need robust path mtu detection, which is another whole can of worms. Especially when packets can have multiple paths with different mtu.