The reprojection filter converts the X, Y and/or Z dimensions to a new spatial reference system. The old coordinates are replaced by the new ones, if you want to preserve the old coordinates for future processing, use a filters.ferry to create a new dimension and stuff them there.
Note
X, Y, and Z dimensions in PDAL are carried as doubles, with their scale information applied. Set the output scale (scale_x, scale_y, or scale_z) on your writer to descale the data on the way out.
Many LIDAR formats store coordinate information in 32-bit address spaces, and use scaling and offsetting to ensure that accuracy is not lost while fitting the information into a limited address space. When changing projections, the coordinate values will change, which may change the optimal scale and offset for storing the data.
<?xml version="1.0" encoding="utf-8"?>
<Pipeline version="1.0">
<Writer type="writers.las">
<Option name="filename">example-geog.las</Option>
<Option name="scale_x">0.0000001</Option>
<Option name="scale_y">0.0000001</Option>
<Option name="scale_z">0.1</Option>
<Option name="offset_x">-100</Option>
<Option name="offset_y">40</Option>
<Option name="offset_z">0</Option>
<Option name="spatialreference">EPSG:4326</Option>
<Filter type="filters.reprojection">
<Option name="in_srs">EPSG:26916</Option>
<Option name="out_srs">EPSG:4326</Option>
<Reader type="readers.las">
<Option name="filename">example-utm.las</Option>
<Option name="spatialreference">EPSG:26916</Option>
</Reader>
</Filter>
</Writer>
</Pipeline>