Here is a working example of putting different text in each facet. I think the key difference to your example is that I assign DF2 (the equivalent of your counts data frame) to the data argument of geom_text().
library(ggplot2)
#> Warning: package 'ggplot2' was built under R version 4.3.3
DF1 <- data.frame(X = rep(c(1,2), 4), Y = c(1,2, 1.1,2.1,1.2,2.2,1.3,2.3),
tissue = c("D","D","I","I","L","L","M","M"))
DF2 <- data.frame(tissue = c("D","I","L","M"), Lab = c("W","X","Y","Z"))
ggplot(DF1, aes(x = X, y = Y, group = tissue)) + geom_point() +
geom_text(aes(x = 1.5, y = 1.5, label = Lab), data = DF2) +
facet_wrap(~tissue)
Created on 2024-07-31 with reprex v2.0.2