In hind sight my suggested Action above will not work because you do want to link the rows together.
Yes AppSheet can handle but you do want to be cognizant of the table size. If you have lots of users making lots of edits, your tables (whether a single table or two tables) will grow quickly.
If the Log tables will be used by only a select few people, it would be better to track the audits in a separate table. This keeps the “current” data clean, efficient and performant for the majority of the system users.
So, assuming the second option of two tables, I think the workflow can be much cleaner than you are initially thinking. No need to manage row states with 0’s and 1’s.
Workflows can be triggered off of ADDS, UPDATES or both. So, you can create a Workflow to trigger for any ADD or UPDATE of a Current row
There is a perfect Action type to use in the Workflow, “add a new row to another table using values from this row”. With this Action you would add a NEW row - each time - to the Log table copying all the columns from the Current row - as well as the current row ID to link the two together.
As you say, the Current row is the source for the Form view and always the row the users interact with.