Let us understand what is the use of list template - if we want to replicate the same list structure along with the data in another site, then simple and straight way we create the list template with the data, then using that template we can create a new list.
Another use of template is, if we don't want the data, just need the structure of the list, then we create the list template without the data (without selecting the data checkbox) , then using that template we create a list.
Now, the question is if your source list has lot of columns but in target list you just need few columns, then don't go with the template create those manually or PnP scripting. With that being said, still we can create list using the template in this scenario, what we need to do is after creating the new list from the template, we can delete all unwanted columns.
Your last part of question is - how to know the list is created from the custom template?
The simple way to manage this - while you are creating the list using the custom template, in the list description describe little about something like "This list is created from this custom template"