amazon and hetzner are not going to differentiate if illegal data is in your mempool vs your blocks, and they're not going to care if it's contiguous or if it can be stitched together with a few lines of python. they're not going to care if the data is prunable vs unprunable. I don't think your residential ISP or the court system will care either. optional mempool filters are not going to save you. there is already illegal data in the UTXO set.
you are not going to convince a hosting company or a court that you are in the clear by stating that some components of the application store and transmit illegal data while others do not. this is unbelievably stupid and shame on anyone who suggests it is a valid excuse.
if you run a node and you really want to save yourself from potentially storing or transmitting illegal data, you would have to:
1. change consensus to make every method of storing arbitrary data invalid (this is technically impossible)
2. change consensus to make every spendable output invalid if its transaction contained previously unprunable arbitrary data (this constitutes theft)
3. implement UTXO commitments (people started working on this 10 years ago and still can't agree if it's possible)
4. only sync from pruned nodes
if you don't think this is possible, you can either:
a) hope nothing happens,
b) ask for permission to knowingly store and transmit illegal data, or
c) live in a world where bitcoin is illegal everywhere.