Don't feel bad! I'm still learning that there is more than one way to handle many of these situtations. I think part of my problem is the pre-conceived notions I carry around with what certain types of toolpath names mean versus what you can do with them.
Anyways, to do what you want will require one more step past the 2d that you are used to.
Use :"Create surface" menu
use the lowest function on the list, "create surface from curves"
Pick the outside loop, then pick everything else. Presto, when done, you have now created a surface. Then, instead of using the 2d machining options, you can get right into the 3d. In this case, use SMT Finish, Z level. This will automatically machine everything where the cutter will fit, and not machine the holes if it won't. I opted for a 3/32 cutter, but you can review the tool settings I used in the NC manager when you look at this file.
Hint1: Zlevel roughing routines will attempt to clean out every pocket.
Hint 2: Z level finishing routines are "net shape" routines and will assume that all level, flat bottomed pockets have been completed, and will mill just the profile.
It is best to get your parts into surface or solid forms, so that you can take advantage of the built in gouge protection, and tool size checking that the SMT machining technologies give you. Also, you can render the object as a surface to check that you got everything.