Looks like the main issue is that I needed to close the gzip Writer:
b, err := batch.Json()
....
var buf bytes.Buffer
g := gzip.NewWriter(&buf)
if _, err = g.Write(b); err != nil {
slog.Error(err)
return
}
if err = g.Close(); err != nil {
slog.Error(err)
return
}
req, err := http.NewRequest("POST", q.host, &buf)