Should I join all of my polygons to make a single polygon for point-in-polygon search?
How about ST_Contains() or ST_Within()?

https://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html

Perhaps you need AND ST_Distance(...) &gt; 0?

More likely, you want AND NOT ST_Touches(...).