I've set up a very basic live activity with .leading, .trailing and .bottom segments. I've also applied .contentMargins(.all, 0) to each of them, but when I show the activity there's still a margin between each of the segments:
Is there any way for me to remove them? Ideally I'd have no gap between leading/trailing and bottom.

Yes, it is possible.
Inner margins within dynamic island expanded presentation can be removed with a small work around.
You can try using just the
bottomarea/position. The top margin of ~37pts is the only caveat.It will look something like this.
You can alternatively just use
leadingarea/position and useverticalPlacementparameter insidedynamicIslandmodifier.I hope this helps