Hello G., and all,
The main question is how many new keywords will be necessary for the future.
See recent Wanted feature or PR (for Protocol, Struct or Exception):
Perhaps the best solution will be to manage a more generic solution possible used by the user, without create new keywords on PlantUML.
Then, here is a temporary proposal using procedure, as:
@startuml
!procedure metaclass($name)
class $name << (M,#FF7700) Metaclass >>
!endprocedure
!procedure stereotype($name)
class $name << S,#FF77FF) Stereotype >>
!endprocedure
class MyMetaClass <<metaclass>>
class MyStereotype <<stereotype>> {
+ x : int = 8879797
- qwert() : int
}
metaclass(MyMetaClass2) {
+ x : int = 8879797
- qwert() : int
}
stereotype(MyStereotype2) {
+ x : int = 8879797
- qwert() : int
}
@enduml

If that can help,
Regards.