I do not use phpmyadmin, but it looks to me after playing around as if:
* Servers are defined manually in /etc/phpMyAdmin/config.inc.php, or in template fragments (which you know already...)
* The default server for initial login is entry #1 from the 'Servers' array, wherever it occurs in config.inc.php
(I manually assigned ['Servers'][1] and reset the default entry from ['Servers'][1] to ['Servers'][2])
* The server used for login is always at the top of the 'Servers' list after logging in
* Both in the login screen and after logging in, servers are listed in the order in which they are defined in /etc/phpMyAdmin/config.inc.php. They are not displayed in either alphabetical or array # order.
(I defined 5 servers - they are always listed in the order in which they are defined, and not by the entry number in the ['Servers'] array)
With servers defined as shown below,
* the login screen defaults to "1_server"
* after selecting localhost and logging in
* localhost (root) is at the top of the server list
* the list below that is 1_host, 3_host, 5_host, then 4_host
/* Server localhost (config:root) [1] */
$i = 2;
$cfg['Servers'][$i]['host'] = 'localhost';
...the rest of the content from smeserver-phpmyadmin...
$i = 1;
$cfg['Servers'][$i] = ['host'=>'1_host', 'user'=>'a_user', 'password'=>'a_pass'];
$i = 3;
$cfg['Servers'][$i] = ['host'=>'3_host', 'user'=>'my_user', 'password'=>'my_pass'];
$i = 5;
$cfg['Servers'][$i] = ['host'=>'5_host', 'user'=>'my_user', 'password'=>'my_pass'];
$i = 4;
$cfg['Servers'][$i] = ['host'=>'4_host', 'user'=>'my_user', 'password'=>'my_pass'];
/* End of servers configuration */