What does "lowest point of elevation" mean in this case? How complex is the elevation dataset? Your ditch might be "locally" lowest, but not globally for your dataset.
Like MrXsquared mentions, you'll need an elevation raster instead of a set of contours. You can either create this from your LiDAR data directly, but luckily there's a QGIS tutorial on exactly on that topic:
https://docs.qgis.org/3.16/en/docs/training_manual/forestry/basic_lidar.html
After you've done that, I'm guessing you want to what's typically called "watershed delineation" or "tracing a flow". There's also a QGIS tutorial on this topic, which appears to be using the SAGA toolbox (which can be installed with QGIS):
https://docs.qgis.org/3.16/en/docs/training_manual/processing/hydro.html?highlight=hydrological%20analysis
This is documentation to the page MrXsquared mentions in his comment:
https://grass.osgeo.org/grass78/manuals/r.drain.html
Which does similar things.
I'm not very familiar with GRASS GIS, so I'd probably have a go at it with Python.
There's two packages that I have some familiary with:
The second one has the advantage of producing vector data (line features).
Most methods seems to produce a raster, rather than vector data of your drain location. Again, there's more Python packages to help:
https://centerline.readthedocs.io/en/latest/
But you'd have to polygonize the drain outline first, most likely.
See e.g. this answer:
How to polygonize raster to shapely polygons
So it depends a little on what you need and want! If it's a relatively small dataset and it's a one-off task, just drawing it by hand might be quickest.