Currently, channels with unbroadcasted funding transactions that are closed/lost on restart do not generate DiscardFunding events. One case where we are able to detect this is here.
However, persistence would also need to change to provide increased guarantees, as Channels and ChannelMonitors are only persisted at funding_signed instead of funding_created and the asynchronous persistence of Channels is not guaranteed at any point. For the latter, see also #2505.