Looking at C interface: is only disc_dyn_fun_jac needed for discrete model?
I think you are already on the right path!
Note that this is not equally easy for all kinds of external funcitons through the interfaces. (There are the examples in acados/examples/acados_matlab_octave/generic_*
On the C level it is possible for all kinds of functions though.