I'm not extremely familiar with the vc code, but looking at it in Emacs
27, at least, the switches for diff in CVS comes from
vc-cvs-diff-switches, if I read the `vc-switches' function correctly.
So has this problem gone away in the years since this was reported?