An expression-based transformation defined on the month level does not apply correctly when the report contains a filter at the day level.
The transformation is intended to compare similar date ranges for the previous months. For example, June 1 through June 15 is compared to May 1 through May 15.

As it can be seen in the above image, data for October 2016 doesn't match with Last Month's data for November 2016.
The current transformation functionality is working as designed. If a transformation expression is configured to work on a monthly basis, and the report filter is set to a daily level, it's expected that the transformation may not align perfectly due to the different granularity levels.
A potential solution is to use a Many-to-Many Transformation that relies on an explicit transformation table rather than an expression. In this approach, one day is mapped to multiple days, such as mapping November 30th to both October 30th and October 31st.
To create a table-based transformation, refer to Building a table-based transformation.