Longitude and Latitude order with ST_X, and ST_Y on SRID 4326
Which makes perfect sense as there are no 113 degrees of latitude - but when I swap the lat/lon parameters - everything works! However when I query the lat/lon the results are backwards.


That's because MySQL and Microsoft do the absolutely insane thing of swapping the order in geographic representations because that's what the EPSG says. Oracle and PostGIS do not. There is no X/Y in MySQL Geographic Representation. With MySQL v8, they tried to fix this while maintaining total and utter insanity by introducing 


ST_Longitude()
ST_Latitude()


For more information check out Does MySQL store point datatypes as LAT LNG or LNG LAT?