The context inside {{#x-parent}} in your example not the parent component, but rather the surrounding controller.
If you were to do {{x-parent}} it would be what you want. Or you could {{yield this}} inside the parent’s template. and do {{#x-parent as |parent|}}, like this. I suppose it depends how much you want to couple the parent and child, because like you say, you could use parentView