In short: I managed to do this in Apex by using apex-mdapi AFTER I updated the code to support flowAccesses. - here's the github commit with changes needed to support it. This is the only way I can see to do this through Apex as you need to hit the Metadata API.
Very Long Version
I didn't see anything within SOQL or Tooling API that can be used. It seems ...
Finally found a solution to this weird problem.
I was not able to subscribe because storage limit was exceeded in my Developer Org.
Max limit is 5.0 MB and in my Org it was showing 6.2 MB.
So i deleted around 1000 records to bring size below 5.0 MB.
You can find it under Setup > Storage Usage.
And then I was able to subscribe Reports again.
Got to learn ...
We ended up filing a case with Salesforce that was escalated to tier 3 support as there we no permissions we were missing. Since that was taking too long and we had affected customers, we threw the old custom setting away and created a new one, which works just fine. So we still don't know what happened but it seems like the permissions for that custom ...