This is likely just a bug with Android Messages app. I deleted cache and data and then uninstalled the app. Then reinstalled the app. Then disabled vibration in the app's notification settings. Checked the "details" section within several chat threads from different people, and now within those settings each vibration toggle is properly disabled.
The funny thing is when I re-enable vibration within the main app settings, and then disable it, it does NOT stick when I look at the details for a contact within a conversation. The vibration toggle stays enabled, hence the vibration problem.
So it seems something is broken when toggling on / off vibrations in the Messaging app settings where disabling vibration globally doesn't always disable vibration within a contact's notification settings. The only way to fix this is to delete the Messages app cache and data. Then disable vibration. Then the global app setting will stick to each contact's notification settings.