Motivated in part by online marketplaces such as ridesharing and freelancing platforms, we study two-sided matching markets where agents are heterogeneous in their compatibility with different types of jobs: flexible agents can fulfill any job, whereas each specialized agent can only be matched to a specific subset of jobs. When the set of jobs compatible with each agent is known, the full-information first-best throughput (i.e. number of matches) can be achieved by prioritizing dispatch of specialized agents as much as possible. When agents are strategic, however, we show that such aggressive reservation of flexible capacity incentivizes flexible agents to pretend to be specialized. The resulting equilibrium throughput could be even lower than the outcome under a baseline policy, which does not reserve flexible capacity, and simply dispatches jobs to agents at random. To balance matching efficiency with agents strategic considerations, we introduce a novel robust capacity reservation policy (RCR). The RCR policy retains a similar structure to the first best policy, but offers additional and seemingly incompatible edges along which jobs can be dispatched. We show a Braess paradox-like result, that offering these additional edges could sometimes lead to worse equilibrium outcomes. Nevertheless, we prove that under any market conditions, and regardless of agents strategies, the proposed RCR policy always achieves higher throughput than the baseline policy. Our work highlights the importance of considering the interplay between strategic behavior and capacity allocation policies in service systems.