What an interesting question! Disclaimer: I didn't know about the options before reading it. I suppose most often when debugging one's own package, one won't use the installed package for debugging, rather just the devtools::load_all() workflow, hence keep.source being more useful than keep.source.pkgs.
From your question and looking in the R source mirror, I saw one could use keep.source.pkgs to try and find the reason for a R CMD check NOTE, see these code lines
wrapLog("Information on the location(s)",
"of code generating the",
paste0(sQuote("Note"), "s"),
"can be obtained by re-running with",
"environment variable R_KEEP_PKG_SOURCE",
"set to 'yes'.\n")
I was also thinking that if one set the variable to 'yes' all the time (e.g. in .Renv), using lookup::lookup() locally might be a nicer experience than it is when reading the code without comment (edit: tested, I installed a package from source with the keep-source option install.packages("rhub", INSTALL_opts = "--with-keep.source") -- on source because it was on Ubuntu). On the other hand it makes the packages bigger, not sure how much it matters.
Further edit: I suppose the users only have the freedom to use --with-keep-source for installation if one builds the package with keep.source. 