It’s quite easy to make a template of a project.
The workflow is mostly to copy an existing project to a special directory, and add a description as an html file and an icon to click on. You can use any of KiCad default templates as an example.
But it only gets you the start of a project, and it’s not what you really want.
What you want is sometimes called a “design block” and that is not yet supported by KiCad. My best guess is that it will probably take a few years before they get implemented, but you never know. If some developer has a special interest in this topic it may get implemented a lot sooner.
Until that happens, there is a partial workaround.
You can first assign a unique range of Reference designators to the parts you want to use in your design block, and then open two instances of the schematic editor (and of the PCB Editor) and then copy & paste the part you’re interested in from one KiCad instance to the other. Use Paste Special from the popup menu. Make sure to select Keep existing reference designators, even if they are duplicated during the paste operation.

After that you also have to re-sync the schematic symbols with the PCB footprints. To do that select: Re-link footprints to sxhematic symbols bsed on their reference designators during the Update PCB from Schematic [F8] operation.