Ну вроде очевидно же.
И что означает, и что работать не будет.
С AllowDynamicProperties РНР позволяет объекту использовать взятые с потолка проперти, а без этой аннотации - нет.
при чем здесь пример 2 - я не понял. Это же просто типизация.
если бы там было продвижение свойств в конструкторе ,
class C {
function __construct(public string $name, public string $value) {}
}
то разумеется, это будет работать, поскольку здесь свойства явно объявляются, просто в сокращённой форме