Every method seems to work to some degree - but they all also produce overlapping subsets of either the entire original line or part of it (maybe split by 1 out of 5 intersecting points). This only happens in some cases. Most lines (and their assoc. points) work fine.
Note: I am using PostGIS 2.4.3 and have ensured I use ST_Snap rather than just ST_ClosestPoint in all attempts.
Looking for why this might be.