The old errexit explicitly exempts any command prefaced by ! which is important so that one can write ! (( x++ )) without it blowing up when x is 0 and without paying the penalty for "|| true". Does this new proposal honour that?
Aside from that, I still think that yet another global setting is perpetuating the "wrong direction"; "local -" has the same dynamic scope as any other "local", which means magic action at a difference, and makes brittle code that can abort unexpectedly in production. -Martin