Check if NavMeshAgent can reach position with dynamic obstacles

I am currently checking if a position in the NavMesh is reachable. It is reachable without the NavMesh obstacles. But the moment I add it, NavMesh's CalculatePath() continues to return true. Note that I do have those obstacles to have carving set to true. How do I solve this problem?

public bool CanReachPosition(Vector2 position)

After getting the path, we need to check if the path is NavMeshPathStatus.PathComplete or if the path is getting to the destination. The path will be .PathPartial if the path is incomplete.