did it write the only four rows that will ever have this lsn
Yes. Consider how they describe Querying for All New Changes Since the Last Set of Changes
For typical applications, querying for change data will be an ongoing process, making periodic requests for all of the changes that occurred since the last request. For such queries, you can use the function
sys.fn_cdc_increment_lsn
to derive the lower bound of the current query from the upper bound of the previous query. This method ensures that no rows are repeated because the query interval is always treated as a closed interval where both end-points are included in the interval. Then, use the functionsys.fn_cdc_get_max_lsn
to obtain the high end-point for the new request interval. See the template Enumerate All Changes Since Previous Request for sample code to systematically move the query window to obtain all changes since the last request.
(My emphasis)
The technique to move beyond the current set of changes you're looking at is to increment the highest lsn in the current set. And then you use that as your new lower bound. And that is described as a way to obtain all changes since the last request. Therefore, we can conclude that no further changes can possibly have the same lsn as one you've already seen.