I use dynamical properties in a legacy code for lazy object creation in
the dependency container (with properties declared using @property
phpDoc comment, so that PhpStorm IDE supports them). But in my case it's
not a problem to refactor that code.
I'd suggest to consider "use stdClassTrait" (the name is just for
example) as an alternative to "extends stdClass" and "implements
stdClassInterface", because 1) It allows to further implement
__get/__set in that trait, and 2) It's possible to don't require base
abstract class to extend stdClass when dynamical properties are used in
a child class only.