This is really clever business from City.
He simply isn't needed at this point in time. His defending is pretty terrible and with Sane coming back width is less of an issue. Mendy, Zinchenko, Cancelo, Laporte are all better options in his position.
Loaning him to the Bundesliga leaders gives him a chance to improve and test himself at a high level. If it doesn't work out we can still make a small profit on him. If it does we can make a big one.
And it looks good. If we had kept him in the stands for another half a season, just in case, we could have really stunted his development. He was given the chance to come back here, he took it, got a few games at the highest level. It didn't work out, but we got him a really good move. Bringing Angelino back in the summer was a good sign for future academy deals, it showed that if players went away and impressed they had a shot. What this shows is that even if players don't quite make it here, we can still help them upwards in their career.
Also not a bad idea to get cosy with Leipzig.