MySQL Replication - transactions missing in M->S1->S2 setup
The problem stems from log_slave_updates. You need that in S1 so the binary logs of S1 can be the source for S2 reading events.
Please add this line to my.cnf in S1
[mysqld]
log-slave-updates

and restart mysqld on S1. Then, setup replication from S1 to S2. S2 is currently out of sync with S1, so S2 may need to be reloaded or sync'd up using pt-table-checksum and pt-table-sync.
UPDATE 2018-06-25 12:23 EDT
Thank you for the update,
Here is your problem:
M1 and S2 have the same server_id.
S2 will never process an event if the incoming event's server_id is the same as S2.
Change the server_id on S2 to something other than 4 or 6 used by M and S1.