The documentation of NO_PROMPT is poor, and the option should be defined as to select the defaults.
NO_PROMPT is defined as,
NO_PROMPT: Set to 1 (true) or 0 (false) to disable or enable prompts.
However, it's not clear why setting this option provides a totally different implementation then you can get when running glab in interactive mode.
For example, here https://gitlab.com/gitlab-org/cli/-/blob/main/commands/project/create/project_create.go#L189 only if the prompt is enabled (NO_PROMPT is not set) can you call initialiseRepo. There is no other path to that code that code if NO_PROMPT is set.