I rejected datetime.datetime because I want to get nanosecond resolution for time and os modules, not only for the os module. If we choose to only patch the os module (*stat() and *utime*() functions), datetime.datetime would be meaningful (e.g. it's easier to format datetime for an human, than a Epoch timestamp).
I don't think that there is a need to support datetime+int or datetime-float, there is already the timedelta type which is well defined.
For os.stat(), you should use the UTC timezone, not a naive datetime.