Sticky sessions and drain not working together

This is expected behavior:

Setting the mode to “drain” only removes the server
from load balancing but still allows it to be checked and to accept new
persistent connections. Changes are propagated to tracking servers if any.

Seems like what you really want is maint mode?

Setting the state to “maint” disables any traffic
to the server as well as any health checks.