No: Your variant creates a table with hash keys, while my version creates a table which allows faster array indexing.
You already realised that Lua indices start at 1, but that's not just a "default for counting", it is also affects performance for table creation and indexing (0 is never an index for array-style lookup - this is not C).
Please inform yourself, i.e search "Lua Performance Tips" by R.Ierusalimschy, there's a section about the array/hash duality of tables, and the recommended practices.

My variant is not "offset by one" - you are confusing the (internal) representation of a language construct with the meaning of the data it contains.
It doesn't matter that the table indices do not exactly represent the face-value (for what the table is used) anymore.
What matters is, that the required table index can be easily computed from a given face value, and this is what I do: Using an optimized table with the index computed from the face value.