Hi and thanks for your reply and Happy New Year!
With 10 minutes of the old year left last night, I had an inspiration. This is it, and herein lay the solution which I tested this morning (and as you say, it is with the connection):
To do the initial database setup when the database host machine is not joined to the domain, the only way to get the connection to work is to directly address the server in the connection string (in this case DATABASE=192.168.0.4\SQLEXPRESS,1433).
After the database host is added to the domain, the direct address won't be accepted as a valid connection to the database host machine, but it doesn't throw an error - I don't know how this piece works exactly, but I suppose that the AD has to be consulted by the database host machine to see if the requester has permission to connect. For some reason, this is time-consuming - it takes about 8-10 seconds.
The trick is to change the connection string to DATABASE=[MachineName]\SQLEXPRESS,1433. This must force the requesting machine to do a DNS lookup which I'm guessing also validates the user in AD. So the connection is instant - the machine hosting the database no longer seems to do anything complicated to accept the connection.
So as I originally noted, there only seems to be 5 SELECT requests, but if each is taking 8-10 seconds before SQLExpress even sees them, then that matches fairly closely with the delay experienced.
Testing this change to the connection resulted in the new user having the same response time as the original administrator. That is, < 2 seconds!!
If you can add anything to the above, particularly around my guesswork, please do so.
Thanks again,