The arguments function simply preserves the arguments as they are passed in, so that they can be passed on further to another function. The specific details you are asking about here are all about how the text
function works, which is where the text-style
arguments ultimately end up.
I’m not sure why, maybe for convenience or for historical reasons, but the text
function is especially adaptive, or “DWIM”-y (Do what I mean), about its arguments. A function can receive both positional and named arguments, so it’s open for them to analyze the positional arguments and “guess” how they should be interpreted, but it’s not really the norm in typst to do so excessively.