If following the documentation for registering @fastify/compress using the new server.ts file it seems that it’s too late to successfully register the plugin as a global hook. With the below configuration dev tools show no compression taking place.
import { createServer } from '@redwoodjs/api-server';
import { logger } from 'src/lib/logger';
async function main() {
  const server = await createServer({
    logger,
  });
  await server.register(import('@fastify/compress'), {
    global: true,
    threshold: 1024,
  });
  await server.start();
}
main();
However, if redwood’s createServer is patched such that the  await server.register(import('@fastify/compress')... occurs before
    await server.register(redwoodFastifyGraphQLServer, {
      redwood: {
        apiRootPath,
        graphql: __rw_graphqlOptions
      }
    });
compression functions on a global basis as expected.
I know @fastify/compress has the potential to conflict with other plugins if not registered first as the compress plugin readme does call out:
Important note! If you are using @fastify/compress plugin together with @fastify/static plugin, you must register the @fastify/compress (with global hook) before registering @fastify/static.
However, as far as I can tell that’s not being brought into scope during redwood’s createServer but maybe I missed it or there is some other conflicting plugin I’m not seeing – not terribly familiar with fastify.