For your non-real-time application, you do not need OS or OA. Direct form convolution (such as Octave function conv()) is easy and gives the same result.
But since the title of your post is "Filter size vs. FFT size and Overlap add", this graphic directly addresses that issue.
Why should the be a mistake?
A linear system (like your filter) can never introduce frequency components that weren't there. So, the tone can't move anywhere. And because you don't show the mapping of colors to power, you can't notice any change in amplitude.
So, I bet your signal is properly attenuated, you just forgot to actually check whether it is.