If I understood you correctly, there are two separate issues here.
The first is what people call "transportability" (how to sensibly combine results of multiple studies if units in those studies aren't the same). People try all sorts of things (Gelman does random effects models I think?) Pearl's student Elias Barenboim (now at Purdue) thinks about that stuff using graphs.
I wish I could help, but I don't know as much about this subject as I want. Maybe I should think about it more.
The second issue is that in addition to units in two studies "not being the same" one study is observational (has weird treatment assignment) and one is randomized properly. That part I know a lot about, that's classical causal inference -- how to massage observational data to make it look like an RCT.
I would advise thinking about these problems separately, that is start trying to solve combining two RCTs.
edit: I know you are trying to describe things to me on the level of individual points to help me understand. But I think a more helpful way to go is to ignore sampling variability entirely, and just start with two joint distributions P1 and P2 that represent variables in your two studies (in other words you assume infinite sample size, so you get the distributions exactly). How do we combine them into a single conclusion (let's say the "average causal effect": difference in outcome means under treatment vs placebo)? Even this is not so easy to work out.
I would advise thinking about these problems separately, that is start trying to solve combining two RCTs.
I think when you break it into two separate problems like that, you miss the point. Combining two RCTs is reasonably well-solved by multilevel random effects models. I'm also not trying to solve the problem of inferring from a correlational dataset to specific causal models, which seems well in hand by Pearlean approaches. I'm trying to bridge between the two: assume a specific generative model for correlation vs causation and then infer the distrib...
If it's worth saying, but not worth its own post (even in Discussion), then it goes here.
Notes for future OT posters:
1. Please add the 'open_thread' tag.
2. Check if there is an active Open Thread before posting a new one. (Immediately before; refresh the list-of-threads page before posting.)
3. Open Threads should be posted in Discussion, and not Main.
4. Open Threads should start on Monday, and end on Sunday.