Na een nachtje slapen vond ik de volgende oplossing.
set @p = GeomFromText('POINT(23.923739342824817 38.224714465253733)');
select municipalID FROM ecovis.municipal_border
where ST_Contains(municipal_border.boundary, @p);
Het werkt voor MySQL 5.6.1 waar ST_ voorvoegsel functie zijn geïmplementeerd. Hoewel ik geen metingen heb van een klassieke benadering (röntgenalgoritme), geloof ik dat dit vrij snel is. Het heeft 0,17 seconden nodig om een punt in 2700 polygonen te lokaliseren, waarbij sommige polygonen meer dan 1.500 punten hebben.