Neither has been tested on the main net.
Segwit is much more complicated which is why it required so much testing even on test net.
BU is by comparison a much simpler change.
dynamics has been tested actually..
though 1mb was the hard limit (in consensus.h).. much like some dynamics propose to move this to 16mb(in consensus.h)
pools have been dynamically moving their preferential block sizes since 2009.. (in policy.h) 2013 was below 500kb in 2015 it was below 750kb
so much like the many dynamic block proposals that want to elevate (in consensus.h) to 4mb, 8mb, 16mb, 32mb whatever.. there is and always has been a second limit that is dynamically moved below this(in policy.h)...
some proposals want the policy.h to have a bigger usefulness for the nodes. where the nodes flag to allow or not allow pools to go beyond X policy.h maxblocksize
just imagine the headache if we stayed at 500kb blocks when Sipa done the leveldb bug event..
as thats the reality of the debate today. the same as the "do we go above 500kb in 2013"
so you're saying the basic idea of emergent consensus that the core devs are pretending to be so freaked out about and claiming is so 'radically different' has actually been done already...