On the systems with FileVault enabled, the LaunchDaemons and system extensions start after the first user login.
But I expect that they will launch before LaunchAgents and other user services.
When I use endpoint security as a LaunchDaemon, it launches after some LaunchAgents in 100% of cases.
When I use endpoint security as a system extension with the flag NSEndpointSecurityEarlyBoot, it launches after some LaunchAgents in 90% of cases.
This behavior looks like a system issue because the flag NSEndpointSecurityEarlyBoot should guarantee an earlier start than other services.