So I made simple experiment in ghci (the "$" operators is a function application: f $ g $ x === f(g(x))):
Prelude> let relu x = (x + abs x)/2
Prelude> let res x = x - relu x
Prelude> let f x = res $ res x
Prelude> map f [-2..2]
[-2.0,-1.0,0.0,0.0,0.0]
Prelude> let res x = x + relu (negate x)
Prelude> let f x = res $ res x
Prelude> map f [-2..2]
[0.0,0.0,0.0,1.0,2.0]
Prelude> let f x = res $ res $ res x
Prelude> map f [-2..2]
[0.0,0.0,0.0,1.0,2.0]
Prelude> let res x = x - relu x
Prelude> let f x = res $ res $ res x
Prelude> map f [-2..2]
[-2.0,-1.0,0.0,0.0,0.0]
The networks pass different inputs, actually.
I have to add that you cannot have zero mean outputs of residual layer with the definition res x = x + relu (Ax + b). In that case outputs will have non-zero mean and subsequent layers will have to correct for that.