Best to try it out yourself, you have to see it in action.
The principle is just as explained:
- if you do List() across the relationship you get exactly the results as per the relationship
- if you use that relationship in a portal but you also filter the portal. the List() function will still give you the unfiltered results because it resolves the relationship and the relationship does not know about the filtering, only the portal does.