Kubernetes Batch Jobs and 'backoffLimit'

Help me clear something regarding job and backoffLimit .
I have setup this job with a container that succeeds or fails randomly:

apiVersion: batch/v1
kind: Job
metadata:
  name: test-job
spec:
  backoffLimit: 2
  completions: 4
  parallelism: 1
  template:
    spec:
      containers:
      - name: random-error
        image: kodekloud/random-error
      restartPolicy: Never

After running the job it fails but after creating 5 pods:

Events:
      Type     Reason                Age   From            Message
      ----     ------                ----  ----            -------
      Normal   SuccessfulCreate      22m   job-controller  Created pod: test-job-h2mtj
      Normal   SuccessfulCreate      21m   job-controller  Created pod: test-job-cqf6r
      Normal   SuccessfulCreate      21m   job-controller  Created pod: test-job-bjfqh
      Normal   SuccessfulCreate      21m   job-controller  Created pod: test-job-4fmp8
      Normal   SuccessfulCreate      20m   job-controller  Created pod: test-job-45llg
      Warning  BackoffLimitExceeded  20m   job-controller  Job has reached the specified backoff limit

Im confused as to why the Job fails after creating 5 pods and not after 4 since the backoffLimit is set to 2 and the the 3rd and 4th pods exited with an error:

NAME             READY   STATUS      RESTARTS   AGE
test-job-45llg   0/1     Error       0          20m
test-job-4fmp8   0/1     Error       0          21m
test-job-bjfqh   0/1     Error       0          21m
test-job-cqf6r   0/1     Completed   0          21m
test-job-h2mtj   0/1     Error       0          22m