Leaving this open until the situation I mentioned is resolved. It is probably what happened in your case:
Every 1 hour XenForo tries to update the CSRF token. It does this asynchronously on regular forum pages, but the standard XenForo JS is not loaded during install/upgrade/import. Here, it is possible for the token to become stale, especially when a regular forum page is open in another tab -- that forum page is able to update the token behind-the-back of the importer. As a result, the install/upgrade/import mysteriously halts when it attempts the next batch due to an unseen token mismatch error. Refreshing the page usually allows the user to continue as if nothing happened, because the token has been updated by the reload.