I don't know the Microsoft guidelines about that. But my understanding is that apps should put their stuff in AppData.
"My ..." is for files intended for the user to access directly. For instance photo apps will naturally save their photos in "My Photos", but just the photos, and with the understanding that the user can reorganize them, open them with other apps, etc... Apps that put their crap in "My Documents" are likely not following the best practices.
Note that not all folders in %userprofile% are called "My ...". For example "Downloads" (you are not supposed to modify stuff there, just read and delete) or "Desktop" (you are not supposed to access it through the explorer). The OS won't stop you, but the fact they aren't "My..." is a hint that it is not their purpose.
Microsoft has been inconsistent, both in recommendation and what they've done in their own programs. Probably the most inexplicable is that in the Windows Vista timeframe they recommended that games place their save games into a folder under My Documents despite the Saved Games folder having also been introduced in Vista.
That was often a sticking point that broke compatibility with programs between XP and Vista. Starting in Vista only programs running as administrator can modify the Program Files directory, but many programs for XP would dump config files and such directly in their installation directory. You'd have to run those programs as administrator every time or else they wouldn't work.
Every platform and application seems to do things differently. On Linux, I end up with a mix of dotfiles in my home directory, some apps putting things under ~/.local/..., and then tools like Miniconda insisting on a top-level folder. It feels inconsistent and messy. Windows isn’t much better—despite having an AppData folder, some programs still scatter their files in random places. \s I guess we'll just need to create a brand new standard, that will make things better. \s
There is definitely not one single standard. If you look at the "Filesystem Hierarchy Standard" (LSB standard, which is not universal), on the section about the home directory, you can find this:
> A number of efforts have been made in the past to standardize the layout of home directories, including the XDG Base Directories specification [9] and the GLib conventions on user directory contents. [10] Additional efforts in this direction are possible in the future. To accomodate software which makes use of these specifications and conventions, distributions may create directory hierarchies which follow the specifications and conventions. Those directory hierarchies may be located underneath home directories.
So one standard saying you should look at other standards. XDG from freedesktop.org is the most popular (and probably the one you are referring to). However, it relate to Linux desktops, it says nothing about non-desktop applications (ex: bash, ssh, git, ...). About git, it would a bit ironic for git, made by Linus himself for working on the Linux kernel to not follow the "one standard".
Many standards refer to other standards. The XDG Base Directories specification is for any software on any Unix like OS. Git supports it. So does GLib. Bash and OpenSSH should. The GLib user directories are Desktop, Documents, and so on. The specifications do not conflict.
"My ..." is for files intended for the user to access directly. For instance photo apps will naturally save their photos in "My Photos", but just the photos, and with the understanding that the user can reorganize them, open them with other apps, etc... Apps that put their crap in "My Documents" are likely not following the best practices.
Note that not all folders in %userprofile% are called "My ...". For example "Downloads" (you are not supposed to modify stuff there, just read and delete) or "Desktop" (you are not supposed to access it through the explorer). The OS won't stop you, but the fact they aren't "My..." is a hint that it is not their purpose.