try replacing:
  .TextFileCommaDelimiter = True
with:
  .TextFileOtherDelimiter = ";"
(or just add that line before .refresh.

Is column R blank where you're wanting the id numbers? If not you can delete them first with a ClearContents:
Dim txtFileName As Variant
Dim destCell As Range
Dim qt
Set destCell = Worksheets("TestingImport").Cells(Rows.Count, "A").End(xlUp).Offset(1)
If destCell.Row < 9 Then Set destCell = Worksheets("TestingImport").Range("A9")
    
txtFileName = Application.GetOpenFilename(FileFilter:="TXT Files (*.txt),*.txt", Title:="Select a TXT File", MultiSelect:=False)
If txtFileName = False Then Exit Sub
    
Set qt = destCell.Parent.QueryTables.Add(Connection:="TEXT;" & txtFileName, Destination:=destCell.Cells(1, 1))
With qt
  .TextFileStartRow = 2    'this leaves the header away
  .TextFileParseType = xlDelimited
  .TextFileCommaDelimiter = True 'you might not need this line at all - it might even be better to make it False
  .TextFileOtherDelimiter = ";"    'add or replace line above
  .RefreshStyle = xlOverwriteCells    '<<changed/added
  .Refresh BackgroundQuery:=False
  With Intersect(.ResultRange.EntireRow, .Parent.Range("R:R"))
    .ClearContents    '<<add
    .Cells(1) = 1
    .DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, Step:=1, Trend:=False
  End With
End With
destCell.Parent.QueryTables(1).Delete