Nesse caso, você pode usar a classificação cruzada e tabulação conforme mencionado acima. Para usá-lo, primeiro você precisa ter uma camada raster com valores int. Dependendo da camada de uso, você precisará executar alguma reclasse ou recodificação para ter sua varredura pronta.
A outra premissa é que seus polígonos (suas zonas de buffer) devem ter algum valor int. Caso contrário, você deve criá-lo (com a fórmula da calculadora $ id + 1).
Rasterize sua camada vetorial usando o código int como valor raster. Aqui você deve colocar algumas condições: use o mesmo valor de pixel e a mesma extensão que a varredura que deseja extrair as informações.
Agora use a classificação cruzada e tabulação das ferramentas SAGA. Você deve considerar que isso criará uma tabela xy com a contagem de pixels de cada categoria de uso em cada polígono. Aqui você deve inserir o "número máximo de classes", o que significa que, por exemplo, se você tiver uma varredura com 10 categorias e 25 classes de polígono, seu máximo será 25.
Aqui está o resultado final: uma tabela na qual você tem a contagem de pixels de cada categoria em cada polígono. Se você precisar convertê-lo em área, basta multiplicar o número de células pela resolução da sua varredura.