The redirect doesn’t work in TCP mode, and the backend is HTTPS, so it doesn’t work this way.
This should be the correct configuration (also you don’t need a backend, since you just redirect to https):
frontend port80-redirect
mode http
bind 192.168.10.5:80
redirect scheme https
Correct, you cannot look at the HTTP headers (inlucding hostname and URI).
What is your requirement exactly - do you need a different backend based on URI, or just hostname?
How do your certificates look like if you have multiple hostnames? Do you have multiple certificates or one certificate with multiple SANs?