Create a new attributattribute with fieldField calculator using this expression (replace orange
on line 6 with the name of your "orange" layer):
area (
intersection (
$geometry,
collect_geometries (
overlay_intersects(
'orange', -- name of another layer
$geometry
)
)
)
)
/area ($geometry)*100
The expression applied on the green layer (here as dynamic label for demonstration purpose), calculating the area of the overlapping part of the orange layer, divided by the area of the green layer. The overlapping part is highlighted in red: