Fix `NaiveDateTime.diff/3` over-counting incomplete units (#15583)