containerd can serve CRI requests itself. This has been the case since the containerd v1.1.0 release[0], which included the cri "plugin" as an in-process part of the containerd binary. For a while, to keep up the plugin idea, it was in a separate github repo too, but these days it's in the main containerd repo directly[1].
[0]: https://github.com/containerd/containerd/releases/tag/v1.1.0
[1]: https://github.com/containerd/containerd/tree/9561d9389d/pkg...