Lots of different choices here to solve this problem. One possible solution:
Either convert the coordinates from ESPG:3857 to EPSG:27700 before they go to the server (i.e. in JavaScript using proj4.js) or do so on the server side in the server side language of your choice. proj4 has bindings to many different programming languages.
For proj4.js on the client side the solution might look something like this:
<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.7.5/proj4.js"></script>
<script>
let longitude = -1.142578; // X
let latitude = 52.052490; // Y
const bcs = `+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 +units=m +no_defs`;
//first number is longitude, next is latitude
let result = proj4('EPSG:3857', bcs).forward([ longitude,latitude]);
console.log(result) // your coordinates in EPSG:27700
// Now send these coordinates back to the server.
</script>
You will have to find a way to intercept the requests in the client side mapping library that you are using. The solution will look fairly similar if you happen to be using node.js on the server except you will load proj4 from it's npm module.