I think it helps to highlight the unitbox:
Show[StreamPlot[{v,
0.4` Sign[v] UnitBox[v, x] - 0.1` v - x}, {x, -0.6, 0.6}, {v, -0.6,
0.6}, StreamStyle -> LightGray,
Prolog -> {LightBlue, Rectangle[{-0.5, -0.5}, {0.5, 0.5}]}], f3]

As you can see, the blue box is the source of the trouble. The curves are smooth until they hit the box. The part where it goes wrong is a very difficult part of the box. If you look at the stream, it is directing the curve back into the edge of the box.

It's getting pushed back into the discontinuity basically over and over. This part probably needs some very special treatment.