A very simple solution that works with dynamic type: overlay your icon over another icon, e.g. a circle
.
You can create a helper component to make this easier:
struct Icon: View {
var name: String
var body: some View {
Image(systemName: "circle")
.opacity(0)
.overlay {
Image(systemName: name)
}
}
}