Yeah, that would be an infinite loop.
Why not have your function check to make sure that the post is something you’d actually want to insert a new cpt post for, and return if not. You’re already checking for revisions. You could easily check for your own type too.