As Kian-Tat Lim discovered, daf::base::DateTime does not output the correct ISO string at a leap second: it does not print 60 in the seconds field. It likely also mishandles ISO input at the leap second.
This may be difficult to fix and not worth the work. Another reasonable possibility is pick one standard uniform time system (TAI or TT) for its C++ time classes and stick to it, eliminating the need to deal with UTC and its complexities. If this is the chosen path it would help to decide soon as if nullifies