The documentation is poor because the documentation of
LAStools is poor.
lidR relies on
rlas which relies on
LASlib to read LAS/LAZ files.
LASlib is the library developed by and for
LAStools. If you look at the documentation of
LAStools you won't find anything more. Thereby
rlas and consequently
lidR cannot document more the filters.
The only way to know in depth what happens is to read the source code which is not trivial in the case of
-thin_with_grid. And the answer is: it keeps the first point it encounters in the file for a given pixel.
And no, there is no way to keep the lowest or the highest. This is not part of the open source
LASlib library. The close source part of
LAStools have such tools but in
lidR you must use
decimate_points() to achieve such task.
I plan in the future to add something like
-thin_lowest_with_grid but it is not for a close future.