But don't unconfirmed transactions drop out of the mempool sometimes because they take too long to confirm?
Only
if the mempool is very full and
if you have paid a very low fee. Which is why I've repeatedly said that if you want to pay using a zero confirmation transaction, then you need to use an appropriate fee. With an appropriate fee the chance of your transaction dropping out of the mempool in two weeks' time and not confirming before then is incredibly low.
Hopefully they didn't sell something like a car.
And again, as has been explained several times, we are talking about buying a coffee or some fast food. No one is accepting zero confirmations for large values.
so I as the sender can't use child pays for parent
Yes you can, using your change output.