This is just the way you refer to a vignette engine - it is disturbing as this is the same syntax as en exported object, but it is to be used in tools::vignetteEngine.
I'm glad there is a rational explanation - I agree that the notation can cause confusion. Until today, I had not even noticed this - then I couldn't "unsee" it...
I believe this is how the R vignette mechanism works and you can't change the syntax
The rmarkdown engine from knitr is required for Rmd vignette to use rmarkdown::render() and you should use it your vignette. That is why it is in the template.