The TODAY() function returns a value with the time of GMT midnight. If you are in a different timezone, this can make math off by a day. DATETIME_DIFF() also looks for complete 24 hour periods when calculating how far apart the days are, which might not be what you want.
Whether or not adding (or subtracting) a day from the difference will work depends on how far you are from GMT and what time of day you will be referring to the result. If you choose to add/subtract a day from teh difference, it easiest done after you already calculate the difference.
Airtable has a SET_TIMEZONE() function that can set the timezone when formatting date/time values. However, it does not actually change the underlying value.