If I understand it correct, the TCP/UDP callbacks are from LWIP (C based) part of the stack. The D/TIM handling would be below that in the 802.11 handling (libnet80211 at least) . So it should be independent of whether it's the Espressif, Arduino, or Sming based framework - all use LWIP. Not sure if Espressif has modified LWIP.
About the Arduino and Sming frameworks, given each is C++ based: It's outstanding efforts by contributors on each side. With the current APIs I like Sming's TCP/IP abstractions better, although having something as Boost/ASIO provides would be even better. But that's another matter of complexity and possibly code size... and another discussion.