How to assign Mobile Data's public IP to host connected on hotspot?
Have a look at this thread about using open VPN. Here you can give public IPs to devices using Open VPN, I think. 

Or you could find another tethering app which supports this such as PdaNet+ which may have more control.