The reason you see a difference in the input is because of a difference in what Fusion is creating. In the case of creating an extrusion and defining the extrude length of the extrude, the value you enter becomes the value of a parameter. That value can be a simple number but can also be more complex. For example, you can enter "5", "3 + 2", "Length", "Length / 2", "Length * sin(45)" and many more. Whatever you type in, as long as Fusion can use it to define a length, becomes the value of the newly created parameter.
Even entering a simple value like "5" isn't so simple. When you enter a number, what are the unit? 5 of what? If you don't specify the units then Fusion assumes it's 5 of whatever the default units are for the document. But even if the document is inches I can enter "5 cm" and override that.
When using the UI and entering values, you're essentially always entering a string, even when it's simple like "5" and then Fusion is interpreting that. When using the API, that would be the equivalent of always using the createByString method of the ValueInput object. However, that's not always the best when using the API because you're computing precise values using floating point numbers and would like to provide those directly rather than concoct an equivalent string. That's why the API also supports createByReal method so you can pass in a precise number and use it directly. In this case, it is always in centimeters. Fusion will still create a parameter but its value will be the precise value you provided.
When you sketch a circle, there isn't a parameter created and Fusion just needs the size of the circle. Internally, Fusion uses centimeters for all lengths so that's also what the API uses. So, specifying a floating point number for the size of a circle is defining the radius in centimeters, regardless of the document default units.
---------------------------------------------------------------
Brian EkinsInventor and Fusion 360 API Expert
Website/Blog:
https://EkinsSolutions.com