Проблема в том, что вы вызываете генератор в родительском классе, но это дает значения вызывающей стороне, которая является вашим методом в производном классе.Поэтому вам нужно будет передать эти значения вызывающему методу, возвращая возвращаемые значения, что-то вроде ...
class Child extends Parent1
{
public function generator_function()
{
foreach ( parent::generator_function() as $out ) {
yield $out;
}
// parent::generator_function();
yield 4;
}
}