I don’t think we need to cluster/linearize/chunk the received block; the transactions in the block can be looked up one by one in the mempool to find their chunk feerate?
Yes, not even CTxMempool but the fee estimator Internal MapMempoolTxs.
Do we bump the count back up to however long P has been sitting in the mempool?
I am assuming For each chunk, the time-in mempool to be the time of entry of the sponsor of the chunk (which should be the youngest transaction in the chunk) - the block height the chunk was mined.
I the case you mentioned the block height P entered the mempool - block height P was mined.