You are correct that mlx is a convention. It refers to a c style interface that is familiar to people using other c-style MATLAB interfaces.
I don't know the specifics of why the particular signature was chosen and what the design trade offs were, but the signature does expect and Object  array to be passed in as Object per the documentation.
In all cases, the varargin argument is passed as type Object. This lets you provide any number of inputs in the form of an array of Object, that is Object, and the contents of this array are passed to the compiled MATLAB function in the order in which they appear in the array.