Convert Lat /Lon of User input to Lat/Lon of Open Data
What's wrong with what you've suggested?  It seems fine.

You've supplied four of possible points, essentially:


(latmin, lonmin)
(latmin, lonmax)
(latmax, lonmin)
(latmax, lonmax)


Clearly one of them is the closest grid point to the user input. Then just use whatever distance calculation you like (e.g. Haversine distance, or better measurements if you have access to them) and pick which of the four points is closest to what the user specified.  It'll be accurate and performant.