When using a grouping field in an HTML list, is there a way to determine the group/loop number of the current content being rendered?
I don't know of a way to get the group number from within the grouping (e.g. views-view-list) template, but I would look to do this  split between two templates: views-view and views-view-list.
First, in the views-view template, e.g. views-view--my-view-id.html.twig.
{# ... etc ... #}
{# Loop through the rows, aka groups, and add a wrapper with index identifier. #} 
{% for row in rows %}
  &lt;div class=&quot;item-list group--{{ loop.index }}&quot;&gt;
    {{ row }}
  &lt;/div&gt;
{% endfor %}
{# ... etc ... #}

Second, create your views-view-list template, e.g. views-view--my-view-id.html.twig to build the content for each group:
&lt;h3&gt;{{ title }}&lt;/h3&gt;
&lt;ul&gt;
  {% for row in rows %}
  &lt;li{{ row.attributes }}&gt;
      {{- row.content -}}
    &lt;/li&gt;
  {% endfor %}
&lt;/ul&gt;

Then you can target the contents of each group in css like:
.group--1 h3 { }
.group--1 ul { }
.group--2 h3 { }
.group--2 ul { }
.etc { }