Hi Jonathan,
The major issue is that a Feature Set and a Feature class are NOT the same thing in the Desktop world (ArcMap/ArcPro)
Many tools will NOT accept a Feature Set in JSON format as input.
Give it a try by converting an existing Feature class to JSON then try to use the JSON as input for the many tools in ArcToolbox. The tools will not accept it.
Look at arcpy.describe
Describe—ArcPy Functions | ArcGIS Desktop
Notice the difference between a Feature Set and a Feature class.
And that's the 'thing'. The model parameters allow one to set the input data type as Feature Set but the parameter dialog that pops on the Desktop will not let you load a Feature Set (serialize as JSON in a text file) as input.
It would be great if it did. Save a lot of time when you are testing and debugging.
So in the Desktop world where you first build the model for a future web service, you cannot actually test with the actual JSON that it will receive in the future. Instead you test it with a Feature Class which does not exist on the web ... yet.
And that is my point. My services work fine with alterations in python scripts but that needlessly burns a lot of time.
If I could develop and test on the Desktop with raw JSON that would help and make sense.
Thanks for listening,
Rob