Hello @Sandeep Wadhwa and welcome to Microsoft Q&A.
I assume by "flow" you mean the general process, not Mapping Data Flow. (Mapping Data Flow does not run on self-hosted IR).
In a Copy activity, when one of the Linked Services is set to use a Self-hosted IR, all of the Copy activity's work is done on that self-hosted IR.
This means step 3 would be executed on the self-hosted IR.
Compression options are set in the Dataset. To go from uncompressed --> compressed , set the compression in the source dataset to "none" and the compression type of your choice in the sink dataset.
Since all work is done on the self-hosted IR, compression is done before transmitting.
Step 2 is the tricky part. ADF has some built-in security for data in transit, but it sounds like your are asking for encryption-at-rest. Give me some time to think about how to do it.