The first thing I noticed was that Swp1 was producing four surfaces instead of just one? I ignored it at first but the complications that multiple surfaces create later led me back to fix it. Very simple - run the two station curves through a Fit component! Voila. Why? I don’t know…
The next thing is that when you Scale the BBX curves, they are no longer on the surface you want to split. The Pull component fixes that so SrfSplit works!
Now all you have to do is find which one of the resulting subsurfaces is the “big one” (the white one in the image below); all the small ones are the holes. In this case, it happened to be the first one in the list, so List Item with ‘index=0’ would work. In general though, what I do is add up the length of all the edges of each surface and sort them by that value. I wrote the Srf SL cluster to do that, you can edit it to see how it works.
Finally, I looked at the other method you tried, which is to Loft the BBX curves with their scaled counterparts. Using the Pull curves helped but Loft still failed due to a data tree mis-match. I don’t usually resort to “Simplify” to resolve such issues but was lazy in this case and it works (the red surface below)