The problem is Cloudflare won’t request assets from the origin with “Accept-Encoding: br”, so you can’t precompress with brotli. Cloudflare will request assets with “Accept-Encoding: gzip”, so you can precompress at level 9. So then the question is which is faster:
1.) Assets compressed on the fly with brotli at presumably level 6, but I’m not positive
2.) Assets precompressed with gzip at level 9
From the tests that I’ve run, while brotli creates slightly smaller files at those compression levels, the total time taken to download the asset on a Cloudflare hit is always longer because compression itself takes time.
Basically, I think that brotli compression is a misfeature in its current state assuming you can precompress your assets. It will make your site slower.