I just want to add two cents to the conversation. Some initial ideas.
When you go to a restaurant, you ask for a finished product, you are not entitled to have the recipe.
When you use some software, unless is an open-source project, you can´t have the original source files, you can not even reverse engineer it.
But on the other side, there is a trend to take this to an extreme, where some companies do not want you to have a right to repair stuff you already bought, removing any warranty, or not selling you spare parts, making the purchase to a perpetual rent instead of a purchase.
I know that they are different cases, but: What can you learn or apply regarding graphic design and source files?
That a graphic design product is a different product than a template system.
You could design a visual product using primitive tools, outdated software, or even software made by you. The final product can be great, but your process could be a mess.
You could have on the other hand a super polished workflow with new AI and some goblins that make your workflow and original files a breeze. You do that in order to save time, be more efficient, then being more productive.
Or you could make a client's website that additionally can generate the printed material with some advanced scripting tools.
You can clearly now see that a finished project is different than a template system, where the client can edit his content as he needs.
You can state that in the contract. That is the client needs the source files at any point, they will cost an additional percentage of the original cost, let's say 50%.
If the client does not want to work with you, this could mean an additional income for work you already did. Win. And for your client, it means that he does not need to pay another person 100% cost of the project. Win.
But keep in mind some additional costs, like licenses of fonts. You can not resell stock images or footage. They need to purchase the license separately. So you should not include them.