Nope, the first one is the correct one. You have to add the nested block in the cascade query as far as I know.
If you have millions to billions of nodes, yes it can be.
This was the way to solve the paging issue in my head. As you said it was the issue. Without a way to test on my side, I have to imagine the scenario to give a quick answer. If you test my hypothesis and it succeeds. Nice! Otherwise, I will have to create a scenario or ask you for a sample and test it on my side. It would be the safest and most accurate way.
But on closer examination, it seems that it should support this query. Try also this one.
{
get as var(func: type(Post), first: 1) @cascade {
owner @filter(uid(0xA)) { uid }
}
bla(func: uid(get), orderdesc: created) {
title
}
}