It isn’t required to have Row Owners, but is recommended if you need to prevent users from seeing each others data. If you remove row owners, then you need to apply a filter to the Profile screen, so that it attaches to the correct row (use “email is signed in user”)
No, this is an incorrect approach. There are two “best practice” options:
Remove Row Owners, if you don’t need them.
Switch to a server side workflow, which isn’t constrained by Row Owners.
Which plan are you on? I’ll assume the Maker plan, as this is the only one that would support that many users without costing you a bomb. Although Glide says there is no limit on the number of users on the Maker plan, the effective limit is around 25,000, as this is the most number of rows you can have in regular tables. 5000 is well under that limit, so shouldn’t really be a problem.
An email is only sent when the “mail sent” column is empty, as it is when a new post is made. Schedule workflow was the only thing I could get to work with row owners in the user table.