TST: port maybe_promote tests from #23982
Not all of them, but whittling them down.

The tests are copied almost verbatim.  The only change is updating the datetime64/timedelta64 expected results to be datetime64/timedelta64 instead of iNaT.