How to move particular system tray icons to the top or left side of the tray
You can order system tray icons, to have a specific icon in the exact location you prefer, but you can also make some change that would help some icons advance in the hierarchy and go closer to this or the other side of the tray. I use Language Indicator to see a flag for the active language instead of the usual initials displayed by Windows. I want the Language Indicator flag to show up before all other icons, if possible, or at least before most of the other icons in the tray.
Windows places first in the system tray icons of programs loaded from the Local Machine Run in the registry (at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run). If this location is populated with several programs, perhaps Windows loads first the icon of the program that opens faster, however, all the icons in that location precede icons loaded from Current User Run or the Startup folders of the Start menu.
I disabled the auto-run option of Language Indicator in its Settings, then I created a new String in Local Machine Run, I gave it the name “Language Indicator” and the address of the program on my disk as the value, and the next time I started Windows the icon of Language Indicator was promoted!
There seem to be exceptions, some programs loading their icons first no matter when and how they start, but in general you can help an icon advance this way. But there is no need for all this effort when you can order system tray icons with absolute precision, to have all and any of them in the location you prefer.