Fluentd statefullset or deployment in Kubernetes?

Hello, I have created fluentbit deamonset and fluentd statefulset with persistent volume. Should I use Deployment or Statfulset? How fluentbit should forward the logs to fluentd, through a kubernetes service, or through headless? Should it be fluentbit upstream and hardcode the names like fluntd-0.headless-service and fluntd-1.headless-service, one host headless-service. Can it be Deployment and access it with the default service ex flunetd-service? Harcoding all headless names to upstream in fluntbit creates scalability challenges, if fluntd scales fluentbit should be configured to forward to the new pods as well.