Benefits of foreign key over integerfield
Deleted objects

If you ever decided to delete the original post, you'd need a separate query to handle whatever you expect to do with the cloned posts instead of using the on_delete kwarg of a FK.

Its an extra query

As noted in the comments, foreign keys allow you to traverse the relationships directly through the ORM relationship methods.

Data structure visualisation tools

These won't be able to traverse any further down from an integer field since it will believe it is at a leaf node.
Throughout all of this though, the elephant in the room is that a "clone" is still just duplicated data so I wonder why you don't just let a blog post be referenced more than once then you don't need to worry about how you store clones.
I'm not sure if this is an appropriate question here.  I know the answer but I don't really know why, and I need proof when I raise this to my team.
We have a number of Blog Posts on a Django Site.  It's possible to "clone" one of those blog posts to copy it to another site.  The way the current developer did that was to take the pk of the original post and store it as an IntegerField on the cloned post as clone_source.  Therefore to get a story's clones, we do:
clones = BlogPost.all_sites.filter(clone_source=pk)
It seems to me that this would be much better structured as a foreign key relationship.
Am I right?  Why or why not?