Does removing the network permission for an app completely isolates it from the internet? I really want to use Google Keyboard and I figured if I remove the network permission then it would run 100% locally and not send any data to Google. Do I have to also remove sensors permission? I would really like to understand what sensors + network permission really allow an app to do or not do, thanks in advance!

Turning off internet does indeed isolate an apps network activity. I did just that on a test app and got a Security Exception when attempting to make the network connection.

As for the sensors, my understanding is that this is for things like the gyroscope / accelerometer, but I don't know for sure.

Just keep in mind apps in the same user profile can communicate with one another with mutual consent which is also transparent via their manifest... So an evil app you don't trust can tell shit about you to the good app you trust if they are in conspiracy

Sensors permission is really still only enabled by default to prevent older apps breaking. Generally I have not found an app that does when revoked YMMV.

Network does indeed cut an app off from the network/internet unless it is capable of IPC or localhost subversion in the same profile. Greater impact if your user profile has Play Services installed.