However, as stated in the documentation, the insets will be applied to the view when inside a list.
Sets the inset to be applied to the view when placed in a list. (emphasis mine)
Using this modifier on the List itself will have no effect on the views inside it. You must use the modifier on the view inside the List for the modifier to have an effect.
This gives you complete control over the list (you can also remove separator using this code). Current implementation of List doesn't provide full control and contains some issues.
Note that this is a completely different API. Both List and LazyVStack are lazy containers, but in contrast to List, LazyVStack doesn't reuse cells, which will SIGNIFICANTLY change the performance when rows are more complex views.