I agree. This is a codec (decoding the original video), handling, or filter issue, not an FFV1 issue.
I opened your MTS PNG file in VirtualDub and saved as FFV1 YV12 with
Code:
ImageSource("1.png", start=0, end=10).ConvertToYV12()
Then I opened that image again and the FFV1 YV12 AVI file with:
Code:
v1=ImageSource("1.png", start=0, end=10).ConvertToYV12()
v2=AviSource("1.avi")
sub = v1.subtract(v2)
substrong = sub.levels(112,1,144,0,255)
StackVertical(StackHorizontal(v1.subtitle("png"),v2.subtitle("ffv1")),StackHorizontal(sub.subtitle("Difference"),substrong.subtitle("Difference amplified 8x")))
This script subtracts one video from the other and shows the differences and the differences amplified by 8x. You can see that there are no differences, even with 8x amplification:

Those flat gray expanses at the bottom left and right indicate the two videos are identical.
Then I compared your two PNG files using the same technique.
Code:
v1=ImageSource("1.png", start=0, end=10).ConvertToYV12()
v2=ImageSource("2.png", start=0, end=10).ConvertToYV12()
sub = v1.subtract(v2)
substrong = sub.levels(112,1,144,0,255)
StackVertical(StackHorizontal(v1.subtitle("png"),v2.subtitle("ffv1")),StackHorizontal(sub.subtitle("Difference"),substrong.subtitle("Difference amplified 8x")))
Here are the differences amplified by 8x (just the lower right quadrant):