TCP multiple ports forward to the same service with load balancing

Heya, I have a tricky problem and I don't know how to describe it properly. But I try my best.
If you need more info please write me and I try to explain as best as I can.

Anyway, we use traefik to load balance a few of our lic servers. So far it works great, but I have a tricky situation.

These servers use two ports that need to be hit for example 4432 and 4433, the first one is for establishing a connection (4432) and the second one is to validate the lic (4433), or at least I think this is how it works. If I leave one or the other port out it won't work.

Now to the problem:
when a client tries to access the servers to get a license sometimes it happens that the load balancer gives the client two different servers.

For example:

Client 1 -> Load balancer -> port 1 -> server 1
Client 1 -> Load balancer -> port 2 -> server 3

but it should be:

Client 1 -> Load balancer -> port 1 -> server 1
Client 1 -> Load balancer -> port 2 -> server 1

Is there any way that we can adjust our config for Traefik to handle this type of situation correctly?

This is a part of our docker-compose file :

      - traefik.enable=true

      # PORT 1
      - traefik.tcp.routers.port1.entrypoints=PORT1
      - traefik.tcp.routers.port1.rule=HostSNI(`*`)
      - traefik.tcp.routers.port1.service=port1

      # PORT 2
      - traefik.tcp.routers.port2.entrypoints=PORT2
      - traefik.tcp.routers.port2.rule=HostSNI(`*`)
      - traefik.tcp.routers.port2.service=port2

Did you try to configure sticky session based on the cookie?

Based on the initial description, all subsequent requests should keep the session alive with the same server. Please publish the results of your tests.