The vertical spacing is set by the VStack.
If the VStack's "spacing" is nil, then the stack will "choose a default distance for each pair of subviews".
As you are seeing, this distance is not necessarily the same for every pair of views.
It's not possible to specify the spacing within the VStack.
The only way to enforce the VStack spacing of 0 is to use:
VStack(alignment:.leading, spacing: 0) {
...which you can't do.
So I think you are stuck.
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: