I get a bit-identical out.tif with FFmpeg and out.tif looks fine with Gimp, ImageMagick? and Okular, so I assume there is no FFmpeg-bug.
(I get a different, correct result with convert out.tif out.png)

Note that 20 isn't odd, it's even a multiple of 4, which should be yuv410p-friendly. The bug also shows up for 18x18, 19x19 and 21x21, but not 17x17 nor 22x22. It doesn't show up when writing to JPEG instead of TIFF. It doesn't show up with format=yuv411p.

The green spot shows up with eog, evince, gimp and "display". When opening the suspect TIFF files with evince, gimp or "display", they complain with: "discarding 8 bytes to avoid buffer overrun." I suppose that the discarded bytes are creating the corruption.

This issue is about libavcodec encoding yuv410p input to tiff and ImageMagick? and FFmpeg disagreeing on how to display / encode the rightmost pixels if the tiff file has odd width (and gimp agreeing with ImageMagick?). It is only related to a specific part of the tiff specification (and its interpretation) afaict.
The issue you just reported is related to libswscale (and unrelated to tiff apart from the fact that it is easier to reproduce with tiff input).