I have a paid account with 1 paid VM and 1 free. If I run a build containing just the following step:

  - run:
      command: |
        echo $CIRCLE_NODE_INDEX
        sleep infinity

The value of CIRCLE_NODE_INDEX is output as 0. If, while this is stuck in its sleep infinity line, I run a second build CIRCLE_NODE_INDEX is again shown to be 0. If I run a third build, it gets queued.

Am I misunderstanding the purpose of CIRCLECI_NODE_INDEX? I was expecting it to be 1 for the second build.