When you're in the middle of using the Messages app, and you receive a new message, it's actually the Messages app itself that is asking the phone to vibrate, rather than a notification coming in and causing the phone to vibrate. So you're right, the 'Do Not Disturb' setting doesn't stop apps from asking the phone to vibrate or play audio while they are being used -- it only affects the behaviour of notifications.
This is a design decision that goes all the way back to the first iPhone OS, to the best of my knowledge. You can see it in the behaviour of the 'ring/silent' switch: if you have the switch set to silent, then notifications don't make any sound, but an app is still allowed the play audio (e.g. the Music app).
A 'total and complete silence, no vibrations, please, whatever I'm doing, yes I really meant it' setting would be really useful, but it doesn't exist in iOS. The closest you can get to guarantee silence is to manually:
- Turn 'Do Not Disturb' on, and set 'Silence' to 'Always'.
- In 'Sounds', turn all 'Vibrate' settings off.
- Set the 'ring/silent' switch to 'silent'.
- In Control Center, pull the volume down to zero.
- Use the volume buttons to turn the Ringer volume down to zero.