How Blockchain ensures transactions are not lost?
Why do you think that the transaction will be "lost"?

It will simply stay in the mempool as long as it is broadcasted by the sender and it will stay there until a miner decides to work with it, and thus confirm it in a new block.

A miner dropping the transaction because he doesn't want to include it in the next block that they're mining simply won't make it disappear.

If node B fails to get the next block, where they intended to confirm Alice her transaction, it would simply mean that her transaction will be in the mempool until another miner uses it in his block.

Note that this can happen simultaneously, it seems to me that you think that it is only possible for a transaction to be mined by 1 miner at the time, although this isn't the case.