Sie haben Recht mit dem Keyword-Match, das ein Match Ihrer neuen Region verhindert. Um dieses Problem zu umgehen, müssen Sie die in Ihrer Region enthaltenen Schlüsselwörter neu definieren:
syn clear cStructure syn clear cppStructure syn keyword cStructure struct contained syn keyword cppStructure class contained syn region myCxxClass start="\(class\|struct\)\_[ \t]\+" end="}[^;]*;" contains=cStructure,cppStructure