BOOTSTRAP
The command is being built before the server exists, while datapacks are loading. Registering here is the only way to make a command usable from a plain (non-macro) function line.
On modded servers this is the first CommandRegistrationCallback/RegisterCommandsEvent firing, which happens during the initial resource load. On Paper, it is the bootstrap-owned LifecycleEvents.COMMANDS firing.
Nothing platform-specific is initialized yet: McBrigadierSource.isBound is false for sources in this phase, and requires predicates are invoked while functions are parsed.