If an HTLC times out and we close a channel from the ChannelMonitor, we currently mark the ClosureReason as CommitmentTxConfirmed, even though the commitment tx has not yet confirmed, not to mention it was us who closed the channel! From a cursory glance, the fix is trivial - just interpret (and maybe rename) MonitorEvent::CommitmentTxConfirmed to mean "we force-closed" and then we can think about adding more detail, but I think its literally always due to HTLC timeouts.