Istio DestinationRule consistentHash for sticky session not working

We have a service that runs on 3 to 5 pods that connect to a database. Every time the user enters the domain, and once logged in, shortly, we are forced to reload and go back to the login screen. It does not happen with 1 pod. Without multiple pods, it tries to go to another pod once after login and goes back to login screen.

We have a simple Gateway > VirtualService > DestinationRule setup for this application

apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
name: our-gateway
spec:
selector:
istio: ingressapp
servers:
 - hosts:
  - app.com
port:
 name: http
 number: 80
 protocol: HTTP


apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: our-virtualservice
spec:
gateways:
- our-gateway
hosts:
- app.com
http:
-  match:
-  uri:
prefix: /
route:
- destination:
host: app 
port:
number: 8080

apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
 name: destinationrule
spec:
 host: app.com
 trafficPolicy:
  loadBalancer:
   consistentHash:
    useSourceIp: true
  tls:
   mode: ISTIO_MUTUAL

This stickiness does not work. I had also tried:

consistentHash:
  httpCookie:
   name: user
   ttl: 0s

httpCookie also did not work.

What is blocking it from working? Using DestinationRule still doesn’t enable any stickiness and had no effect.