That is essentially correct. Basically, use save_dso = FALSE if you want to share the results with someone else on a different computer and use save_DSO = TRUE if you want to then save the resulting R object to your disk for you to use in a subsequent R session (in which case you do need to put the result of saveRDS() into a permanent directory on the disk). In general, DSOs are not compatible across different operating systems, etc.
By the way, there is a replacement for the stan() function in rstan at
http://mc-stan.org/rstan/stan.Rthat you can source() and it will automatically save a serialized version of the DSO to your disk in the same directory as your .stan program (or in the temporary directory if you pass a string to model_code). It will also run the chains in parallel in a way that most users would operate on a single laptop. Otherwise, you might need to customize it a bit for your setup, but the code should be straightforward enough to follow and modify.
Ben