Tecnicamente, um daemon também precisa chamar setsid()
após forjar para iniciar uma nova sessão, tornar-se seu líder e separar-se do controlador tty, mas sim, você está correto.
Você realmente quer fazer as duas coisas em seus dois cenários. Você deseja primeiro daemonizar e, em seguida, o daemon pode bifurcar trabalhadores adicionais.