I'm sorry but do you have access to the load balancer's code?
Because if you do, you can have the load balancer ask the user.
If it's a Website, maybe the load balancer returns a simple radio form where the user has to select from either Auto, Server 1 or Server 2.
Auto will cause the load balancer to decide on its' own.
If it's a app, then the app can automatically ask the user between server 1, 2 and auto.
For best UI/UX practices though, Auto should be selected/checked by default.
If you don't have a lot of control maybe direct the the user to the server using lesser system resources which will then send the form?
But it seems that it's something else. I feel with the mention of the term "fetch" your client-side back-end code will communicate with the server?
That really shouldn't matter much in that case since the user doesn't have to remember anything. It could be a subdomain of 1204829.yourdomain.extension
and whatever.
I won't recommend something like this though:
POST example.com
some headers:some values
`
{
"server":1
//other data
}
`
Why I'm saying so is because the last thing server (or the load balancer) will receive is the body of a POST request.
So yeah, subdomain is better because that's the first thing a server will receive. Then, the URL parameters and then the headers followed by the body (absent in the most common GET request).
I've told you as much as I knew, hope you're able to come to a conclusion!
The thing is, you're worrying too much on a very small thing.
It doesn't matter how. Just focus on making that app!