Как и было предложено @ julemand101, я начал искать что-либо, связанное с проблемами перехода на летнее время, и понял, что разница составила 719 часов в Android 7.1.1 и 720 в Android 9. Он округлялся до 29 (вместо 30) разница в днях.
Проверяя date_time.dart, я обнаружил следующее:
/**
* Constructs a [DateTime] instance specified in the UTC time zone.
*
* ```
* var moonLanding = new DateTime.utc(1969, 7, 20, 20, 18, 04);
* ```
*
* When dealing with dates or historic events prefer to use UTC DateTimes,
* since they are unaffected by daylight-saving changes and are unaffected
* by the local timezone.
*/
Таким образом, преобразование даты в ut c до вычисления разницы работало для меня нормально.