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 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
good example of a previous event:
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 policy.h in 2013 eventhough consensus.h was 1mb"
p.s
my node and many other nodes have a consensus.h of 8mb right now and my node in particular has a policy.h limit of 1mb (and a few tweaks to validation) .. and im not having any problems