The real configuration is to set up ? for your args but also add nullable: false (FALSE, NOT TRUE) in order to get your arg to be string or undefined but NOT null.
import { Args, ID } from "@nestjs/graphql";
// ...
@Args("id", { type: () => ID, nullable: false }) id?: string; // type: string | undefined.