Ideally, --output wouldn't change just the filename, but would also control the directories that get created.
This isn't trivial, though, because it involves some code in freeze infrastructure and some rmarkdown interactions as well.
Related: should --output - imply self-contained: true?