The reason pipeline is returning rows beginning with 29-06-2018 is again related to the definition of dates when using pipeline. Think of the dates as 'when the pipeline was run'. Don't think of pipeline dates as the price or volume on that date.
This makes complete sense because one can have many types of factors returned by a pipeline, not just simple price and volume data. For instance, one could have a custom factor that returns prices as of 10 days ago, or a factor that returns the volatility over the past 6 months. For this reason, it's more consistent to consider the dates as 'when the pipeline is run on this date these are the values of the factors it would return'.
For this reason, there are times when it makes sense to use data from 'run_pipeline' and other times when one should use 'get_pricing'. If one wants to analyze a strategy and needs to know what data a strategy would see on any given day, then use pipeline data. It won't be biased with any forward looking stock splits etc. However, if one wants to analyze security trends then use 'get_pricing'. Pipelines are strategy oriented / 'get_pricing' is security oriented. Consider the pipeline dates as dates a strategy is evaluated and the factor data as of that date. Consider 'get_pricing' as dates for a security and price and volume data as of that date.
Hope that doesn't just confuse things?