I find the easiest way to understand it is to consider tables instead of rows.
If a table is referenced anywhere in your app, then all rows in that table will be counted against your quota. Filtering & Row Owners have no impact on row count, the only thing that matters is whether or not a table is referenced.
Example:
You have a table with 1000 rows. You don’t display that table directly using any lists, but you do build a relation to it from your User Profiles table, and then use a Lookup column to fetch a value from the table. This means that the table is referenced, and so all 1000 rows will be counted.
And to address your example…
Yes.
If you’re viewing the data via the 2nd app, the entire table counts towards the row count for that app.
There really is no problem here, because Glide counts row usage limits PER Project (App or Pages), and not PER TEAM as seen in this little screen snippet:
So you really only have to be concerned with the UPDATES – which are shared between all Projects in the Team.
Perhaps the pricing page could make this clearer? Initially it looks like the rows in your sheet are what are counted. It is more nuanced that that so could be made clearer. “Used” is hard to explain if you haven’t built in Glide before.