When a snap runs under strict confinement, the
HOME environment variable is set to
/home/$USER/snap/$SNAP_NAME/$SNAP_REVISION/ - this essentially serves as a private home directory for the snap. The snap has full access to files in this location so you can use this to store config files etc even named
By then plugging the
home interface your snap can access non-hidden files within
/home/$USER as you have seen.
personal-files interface exists to allow snaps to read (and perhaps write) hidden files within
/home/$USER on a case-by-case basis. As such you could use this to specify access to a file like
/home/$USER/.$SNAP_NAME/config or similar - use of
personal-files requires a store assertion and hence review by the reviewers team as well.
So in summary, you should be able to use the private per-snap
$HOME but if needed
personal-files may also suit the needs of your snap for this.
Finally, regarding downloads, it is common for these to be stored in
/home/$USER/Downloads and this is granted via the existing
home interface so you should not be concerned about strict confinement for your snap.