I've made a DEM from first pass LiDAR data which I want to invert and run watershed segmentation and basin delineation over in order to hopefully extract tree canopy outlines and heights - I'm newish to GIS.
I would subtact the last pass and the first pass elevation if you want the height. You could also possibly add a constant (e.g. 100) in order to have positive values but this is more an esthetic consideration.
by the way, DEM is used for ground elevation, in your case it is a DSM.
in the raster calculator (assuming you are using QGIS)
dem@1 - dsm@1
replace dem@1 with any constant value if you don't have a DEM at the same resolution as your DSM.