I am kind of a WebRTC noob but... this means after I define my input channel (audio track, video, etc.) and establish a peer connection I can send data from a different source?

Are there any complications with that or is it kind of on me to not confuse the other peer by sending unexpected formats?

Yep exactly! After it starts you can slice in any media you want.

You need to make sure you are sending the same codec that the remote expects, otherwise nothing else! You can do a different resolution, bitrate etc...