Middleware store and how it works with kubernetes when traefik is running as daemonset

I would like to understand traefik middlewares. Currently running traefik proxy v2.8 on kubernetes with ingressroute and kubernetes crd with traefik as daemonset.

I want to know where traefik stores the data that middleware uses for checks. For example for ratelimiting, after calculating the number of requests where is the data against the routes stored. Is it on each instance if its a daemonset or is it a shared memory where all the pods in a DS can access?

Also, if we use a plugin where exactly the plugin stores info. For example lets say we use a plugin to block requests if the same request is made more than n times? If we create a middleware for this, will the number of requests be counted for all pods in traefik DS or number of requests per pod per node?

In other words, does traefik community support distributed rate limiting kind of middlewares vs enterprise editions

Mainly if we are using a middleware to block requests, I just want to see if its possible to block for all pods in a daemonset instead of each pod in the ds. Hope this makes sense.