まずいまずくないじゃなくて、そういう仕様。

代入式は(代入の方向を考えれば当然だと思うが)右結合するので
y ||= x = i は
y ||= (x = i) と解釈され
以下と等価。
unless y
 x = i
 y = i
end

xには常に代入したいなら
x = i; y ||= i
とするしかない。