Yes, a mix of 1 & 2 possibly -- am trying not to think too much about the implementation at this stage tbh.
Problem statement remains that every major SaaS app has an API available - while that's good, an API is still an engineer's tool. These apps can't really expose SQL on the go on their apps given a. multi-tenant architectures b. transactional/nosql databases used.
However, an ideal solution does seem like a mix of 1&2 in my mind. An easy to use SDK (?) to make any SaaS app have the capabilities of Stripe Sigma.
1) universal plugin to each app that allowed for standard access to raw API data
2) middleware service that you would authorize access to for each of these apps and have the service "know how to join"
3) data lake that allowed one to import all you data into and join together (perhaps with SQL or GQL)