I created an index approx 5gb in size but the file system doesn't show any difference in free space
I'm suspecting/assuming that some data file had a lot of free space
  inside it, and the new index simply occupied that already allocated
  space. Is this likely to be what has happened?


Based on your description of events yes this must have been the case.

The free space might have arisen either due to the initial size of the database files leaving more than 5GB free, or last time it needed to grow the increment was big enough to leave at least 5GB free, or space was reclaimed from deleted rows or dropped items in the data file or some combination of these.