How to control docking order in WinForms
Go to View → Other windows → document outline.
In that window drag the controls so the docking is as you like it to be.
Use these methods:
myControl.SendToBack();
myControl.BringToFront();
As you said, the newest control added to the controls collection is the one on top. If you need a newer control to be added at the bottom, I'll suggest to create a list of controls, add the controls to the list, reverse the list and add the list to the controls collection.
List<Control> controls = new List<Control();
controls.Add(new myFirstControl());
controls.Add(new mySecondControl());
controls.Reverse();
this.Controls.AddRange(controls.ToArray());
A control has two methods to achieve what you are looking for: BringToFront
and SendToBack
.