What impact on the index storage size does overprovisioning of varchar types have? Does over-provisioning varchar columns (as in using varchar(100) to store values from 1 to 10 characters long vs using varchar(10)) have any impact on the index storage size and if yes than why?

I recall reading a Q/A here about this but cannot find it using any of the terms which come to mind.

I do not care about memory grants or plans - only about the physical storage of the indices on such data.
Variable length columns only store the actual data present in the column.  In other words, the defined length of a varchar column has no bearing on the amount of physical storage allocated.

However, querying the data requires a memory allocation that is commonly calculated to be the number of rows expected multiplied by 50% of the defined column size.  So, if you define a column as varchar(500), but only store 50 bytes in the column,  you're wasting 200 bytes of RAM per row in memory.