```python
from typing import *
from collections import *

def sort_by_len(words: list) -> list:
    return sorted(sorted(words, key=len), key=lambda x: x.lower())
```
This solution follows the given requirements by implementing `sort_by_len` as described. It first sorts the words by their length in ascending order using `sorted()`, then sorts each group of words with the same length alphabetically using another `sorted()` call with a custom key that converts the strings to lowercase for case-insensitive comparison.