I have some additional findings to this.
If you have two keywords, lets say KEY1 and KEY2. A Contact is opted out of KEY1 but not from KEY2. If you send an SMS to KEY1 in this case, it will still go through.
Given this, I have a hard time seeing what multiple keywords actually would be useful for.
Update: This behavior is for one time send outs to data extensions. When doing send outs through Journey Builder, behavior in previous posts is accurate.