Yea, thank goodness I stumbled on this thread.
Your work has got me to solve it.
Though I had both in the same solution, the DLL file mattered the most.
This was achieved by 2 steps:
By changing the assembly name of the solution, managed to churn out a DLL with custom nodes, and a separate DLL with zero touch nodes. (csproj file / rightclick project > hit properties option > under applications tab > change assembly name)
edit pkg.json file to add separate node_library parameter with name of other assemble / DLL.
Whilst this may be quite a manual process, next up will be to add a kind of source control setting between 2 branches and managing the .gitignore file to not submit the csproj file which contains the DLL naming toll.
Just wondering if it was the same process on yourside?