You can create an Inactive record by setting the inactive values in both statuscode and statecode of the target in a plugin step that kicks in the PreValidation or PreOperation
of message Create for the Table, thus avoiding a second transaction.
PreValidation is stage 10, PreOperation is Stage 20. PostOperation can be 40 or back in time also 50.
The transaction is committed into the Dataverse in stage 30.
Any change in the payload before stage 30, kicks in.
As far as I know, the only exception is the owner, which can't be changed in stage 20, but no problem if changed in stage 10.