Currently we always load FlowExecution when loading a build even though we might not actually need it. This is thought to slow down some things, such as getBuildHealth, since we are loading executions for some historical completed builds and then not using them. The loading should be on demand only.
Since currently FlowExecution.onComplete is called soon thereafter, we would need some other marker in WorkflowRun for a completed build. Could check for logsToCopy == null though this is deleted in JENKINS-38381. Probably better to use completed as noted here.