  We study the problems of counting copies and induced copies of a small
pattern graph $H$ in a large host graph $G$. Recent work fully classified the
complexity of those problems according to structural restrictions on the
patterns $H$. In this work, we address the more challenging task of analysing
the complexity for restricted patterns and restricted hosts. Specifically we
ask which families of allowed patterns and hosts imply fixed-parameter
tractability, i.e., the existence of an algorithm running in time $f(H)\cdot
|G|^{O(1)}$ for some computable function $f$. Our main results present
exhaustive and explicit complexity classifications for families that satisfy
natural closure properties. Among others, we identify the problems of counting
small matchings and independent sets in subgraph-closed graph classes
$\mathcal{G}$ as our central objects of study and establish the following crisp
dichotomies as consequences of the Exponential Time Hypothesis: (1) Counting
$k$-matchings in a graph $G\in\mathcal{G}$ is fixed-parameter tractable if and
only if $\mathcal{G}$ is nowhere dense. (2) Counting $k$-independent sets in a
graph $G\in\mathcal{G}$ is fixed-parameter tractable if and only if
$\mathcal{G}$ is nowhere dense. Moreover, we obtain almost tight conditional
lower bounds if $\mathcal{G}$ is somewhere dense, i.e., not nowhere dense.
These base cases of our classifications subsume a wide variety of previous
results on the matching and independent set problem, such as counting
$k$-matchings in bipartite graphs (Curticapean, Marx; FOCS 14), in
$F$-colourable graphs (Roth, Wellnitz; SODA 20), and in degenerate graphs
(Bressan, Roth; FOCS 21), as well as counting $k$-independent sets in bipartite
graphs (Curticapean et al.; Algorithmica 19).
