According to the documentation, there are "special" creation, crossover, and mutation functions that enforce integer constraints. To see exactly what they are, consult the reference to Deep et al., "Deep, Kusum, Krishna Pratap Singh, M.L. Kansal, and C. Mohan. A real coded genetic algorithm for solving integer and mixed integer optimization problems. Applied Mathematics and Computation, 212(2), pp. 505–518, 2009.". For the other options, the documentation gives the default values.
I hope that this helps,
Alan Weiss
MATLAB mathematical toolbox documentation
P.S. Your idea to use fmincon to optimize the function for given integer variable values seems like a good one to me.
