Missing processes when started with DynamicSupervisor

You need to change that line to GenServer.start_link(__MODULE__, nil) so that your process is linked to the supervisor.

The start_link/1 function must return {:ok, pid} where pid is the process identifier of a new process that is linked to the supervisor.

from: Supervisor — Elixir v1.20.2