Funny, didn’t know the Layouts must have been activated first.
First I created a Viewport on Layout1 (empty drawing). Then I copied/pasted it, and Dynamo found both, obviously, because the Layout had been active.
Then I copied the whole Layout to a new Layout without making it active, and then Dynamo returned an empty list for that particular Layout.
But, the node Viewport.GetAllDocumentViewports returned them all!
You can find this node in The Civil Nodes package. I’ll have a look in the code to see where is the difference, can’t explain yet. Also, there is no way back to see on which Layout the Viewport resides, there is no Viewport.Layout node or something similar. But with String.Split you get some result: