I posted a similar (or what I now believe is the same) issue here: Home Directory Outside of Home - #4 by FatalKeks
Upon trying the latest suggestion by @mborzecki1 (update snapd to edge, the try refresh again) I am getting the same, new error message as @FatalKeks. This is what leads me to believe our issues are the same.
I have also gone through all of the other posts in this thread and my answers to most of the questions are more or less the same as @FatalKeks; user directory is /home/[username], using bash as shell, no systemd-homed.
Where we differ is that my /root directory has had the user and group changed to ‘gdm’ (not sure how).
drwx------ 10 gdm gdm 4.0K Sep 1 12:20 root
I am 100% sure I didn’t do this myself, so I can only assume it was done by an update or was a side effect of some other change I had made. I took the chance of changing it back to root ownership (since I didn’t know what made the change I wasn’t sure what would happen) and I am now able to update snaps again.