Contradictory findings:
Either the manual is wrong or the scope shows wrong values. I can only count like a few dozent of points.
The timebase also does not show all the time 50Mpts if you zoom out its sometimes 20 or 40 Mpts.
Should be exactly 20 points, right? 200 ns total sweep time, 100 MSa/s, so 20 Samples in 200 ns. You can see the individual data points when you switch the display mode to "Dot".
Did you acquire that data with a much slower time base, then stop and zoom in? In that case, the number of number of samples indicated in the info box might be the number of samples acquired in the sweep, rather than the number of samples shown on-screen at the moment? (I don't have access to my scope at the moment.) The manual would be incorrect in that case.
If the above hypothesis is right, I would probably prefer the scope to behave like stated in the manual, i.e. always tell me how many data points are behind the trace I see on-screen at the moment. In which case this would be a bug or improvement request.
User manual need some correction.
In this case it is ok for runtime. Runtime, info box bottom row tell acquisition sampling speed and length (points) what is also same as points "behind" one acquistion.
But what you see on screen. Runtime there also can be overlaid several, even thousends of acquisitions depending current wfm/s speed. So we can not tell how many data points are behind visible runtime trace what you see on display. (there is not good way to tell how many dots are behind visible DPO trace in runtime and also this kind of info is useless. )
After oscilloscope is stopped. Independent of stop mode zoom in/zoom out, information box bottom row tell acquisition sampling speed and length (points) when it was captured in runtime and on stop mode it continue displaying it independent of current t/div.
But in stop mode, info box top row tell current displayed t/div and also time position, example when pan and zoom in when stop mode. So you know "where you are".
In this particular case @eTobey have made acquistion using 20ms/div, 20Mpts length and 100MSa/s.
Then he stop scope and zoomed in by 1/1000000. And also info box tell now his current displayed t/div is 20ns and he have 100MSa/s sample rate so he have sample interval 1/100000000 s (10ns) and there is data points just with this interval, exactly (not just @eTobey red arrows pointed). And he have there 20Mpts. Original runtime display width was 200ms and now when he have stop and zoom in... he have 20ns/div so his display width is 200ns, extremely narrov slice from whole acquisition length. And all data in info box is true. (after understand what is meaning of its bottom row. Just store it your mind and after then never need ask or wonder. This permanent burn to memory between ears take <1 second and it need do only once).
What need now improve. Least need fix this explanation in User Manual so that also Acquisition Stop state is included (or just tell that in Run time it display...).