fix: lazily create inTransition external source to prevent use-after-dispose (#2589)