We have a legacy tile server with tiles georeferenced to EPSG:4326 accessed as follows through openlayers:-

    var OLDSERVICE =  	new ol.layer.Tile({
                  		title: 'OLD SERVICE',
           				type: 'base',
   						source: new ol.source.XYZ({
									url: 'http://OLD_URL/maps/api/nls/{z}/{x}/{y}.jpg',
									maxZoom: 15,
									tilePixelRatio: 1})
						});

The current base map is in EPSG:4326

We want to reproject these tiles to work on a base map with projection EPSG:27700

How would we best go about this? I don't want to warp the tiles on the fly, would prefer to reprocess them for 27000. I am not very familiar with XYZ tile services as most of our stuff is done via a WMS service.