Dopo una notte di sonno ho trovato la seguente soluzione.
set @p = GeomFromText('POINT(23.923739342824817 38.224714465253733)');
select municipalID FROM ecovis.municipal_border
where ST_Contains(municipal_border.boundary, @p);
Funziona per MySQL 5.6.1 dove Prefisso ST_ la funzione è stata implementata. Anche se non ho misurazioni da un approccio classico (algoritmo a raggi X), credo che sia abbastanza veloce. Occorrono 0,17 secondi per individuare un punto in 2700 poligoni con alcuni poligoni che hanno ben più di 1.500 punti.