You should check through /var/log/ltm to ensure that the other pool member was not down. Otherwise, it could be that the node was allocated statically by one of the irules. Are you certain that LTM is provisioned as well as ASM?
I'd also check the incoming traffic - for instance of the filter is acting as a proxy with all HTTP traffic arriving on one TCP connection then the loadbalancing decision will be made for the TCP connection only once. Worth assigning a oneconnect profile as well because this causes an LB::detach which should cause loadbalancing across both pool members.