System owner is only set when object is created in a user context.
The value can NOT be changed.
If you want to show who created an object, Never use the Account/Fullname or User/Name values.
If you do so, you create security impediments. Always use a prcess entity “Person”, “Employee”, “Customer” or alike which has a 1-1 reference to account instead add the name attribute to that process entity and use that in your application front-end.
According to described above → don’t use System.owner. But use a reference between affected entity and your process entity.