I found a relevant issue that might explain the behavior you're experiencing with the sub-flow being marked as late. The issue
Agentless execution cannot trigger child flow runs, only the parent flow run (#5509) discusses a scenario where sub-flows are not being executed as expected during an agentless execution.
Though this issue does not explicitly mention a sub-flow being marked as 'late', it could be related to your problem if the sub-flow is not executing properly or at the expected time. The discussion indicates challenges with the execution of sub-flows, which might manifest as a status issue.
If the sub-flow's execution depends on the parent flow, and the parent flow's execution is delayed or not triggering the sub-flow correctly, it might cause the sub-flow to be in a 'late' state, especially if the system anticipates the sub-flow to run directly following the parent flow's trigger.
Unfortunately, there is no direct mention of a sub-flow being in a 'late' status without having an explicit schedule. If this doesn't resolve your question and if the issue persists, I recommend reaching out on the Prefect community channels or opening a new issue in the Prefect GitHub repository with detailed information about your flow setup and the observed behaviors.