Das ist korrekt und Sinn der Transaktion.
Eine Transaktion soll ja sicherstellen, dass diese Daten in sich konsistent bleiben.
Daher gibt es eine ungeschriebene Regel:
Keine Transaktion darf über eine Userinteraktion hinaus gehen um Ressourcen zügig wieder frei zu geben.
Warum? Du könntest einen Rollback machen und die Änderungen anderer wären dann auch weg.

Transaktionen sind die kleinsten gemeinsamen Aktionen, die eine Aktivität zu einer unteilbaren Einheit verbindet.
Z.B.: Auftragsposition erstellen/anpassen/löschen + Bestandsreservierung.
Eine komplette Auftragserfassung sind daher mehrere Transaktionen.
Z.B.: Rechnung schreiben: Alle Aktivitäten der einzelnen Rechnung sind eine Transaktion, da die Rechnung unteilbar ist.
Usw., usf., etc, bla, bla, bla!

Daher kann ich mir nun nicht vorstellen, dass eine Transaktion über mehrere Programmschritte geht (da sind Services nicht mit gemeint, da diese ja innerhalb der Transaktion benötigt werden).