Hi David,
I think there is a difference between a server down for maintenance or down because there is a problem (failed health monitor).
When you want to perform maintenance on a server, just put it offline. Only active connections are allowed and new sessions are send to the other pool members. Once all connections to that pool member are gone, you can perform whatever you want to do on that server. When you are done, just enable the pool member.
Is the server down because the health monitor fails, you are right. TCP connections cannot be send to the other member with the reselect option.
https://support.f5.com/csp/article/K15095
You can create a health monitor and configure a disable string. This way, the administrator of the server is responsible for putting the server in maintenance mode. Most of the time, server administrators do not have access to the BIGIP configuration to put pool members in disabled or offline state.
Regards,
Martijn