> (or alternatively just binding buffer-file-name to nil after default-directory).

Yes, this is simpler.

> but it feels like the fix should happen in vc.el, by being able to
> communicate that we the file set should be derived from the default
> directory, and the current file should be ignored...

Maybe it is better, but I don't know what will happen if we
change the implementation of `vc-deduce-fileset-1', I don't have
much knowledge of vc.el.