1st of all, you can achieve same result in UE with just Material, which has been done by VRM4U.
Shading model exists because it is the best performance you gonna get.
Techinically you can re-write shader in Materials, but performance goona be horribly worse.
You are right that Unity and Gobot’s rendering pipelines are more friendly for user modification (especially in runtime), but they have big limit if you really push them on complexity and performance.
For the NiloCat shader you posted, I don’t see any use of Gbuffer in sample code, so i assume it is done through forward shading, so you won’t want to use this if you have a big level or many light sources. It looks nice, but if you want to make it game production viable or scalable, you gotta do a lot more work yourself. Even for Genshin Impact, it doesn’t have real dynamic shadow for their toon shaded character. They use character-specific light source to fake it for optimization. Unreal Engine just gives a lot of optimization and high level features out of the box starting with deferred shading.
If you try to achieve a real production ready custom shader, it is more difficult in UE but it will be less work in total. You basically need to create your own shading model. It is definitely worse learning curve, but it isn’t rocket science and there is a good example that community has done good job in creating toon shading model. Toon Shading Models, Stylized Rendering Experiments
I won’t really blame UE for harder rendering pipeline customization. I think it is a fair tradeoff. You are basically complaining why a motorcycle cannot be moded as simple as a bicycle when you see a fancy modded bicycle.