Im not sure if you've found the solution for this, but I've had the exact same problem. And its a core featured inside of Magento. If you look inside of:
/vendor/magento/framework/View/Layout/etc/elements.xsd
You'll see what elements you can use and what you can pass through to these elements. If your current block...
product.info.review
Has arguments you can't reference that block and pass arguments to it, the bound is 1 and 1 only. So no more arguments allowed, even if you have another block inside.
<xs:element ref="arguments" minOccurs="0" maxOccurs="1"/>
<xs:element ref="block" minOccurs="0"/>
<xs:element name="container" type="containerType" minOccurs="0"/>
<xs:element ref="referenceBlock" minOccurs="0" />
<xs:element ref="referenceContainer" minOccurs="0"/>
<xs:element ref="uiComponent" minOccurs="0" />
This is around line 307 there are plenty more occurrences of it, through out this file.
The work around I have come up with is the following:
So I wanted to add a title to the short description inside of:
product.info.main
I tried like you did to reference the block but you can't, but i still tried with the following:
<referenceBlock name="product.info.overview">
<block class="Magento\Framework\View\Element\Text" name="title.description.section">
<arguments>
<argument translate="true" name="text" xsi:type="string">
<![CDATA[<h3>Description</h3>]]>
</argument>
</arguments>
</block>
</referenceBlock>
You can see here the block is referenced and then I wanted to load the title block inside of this, no luck due to this block already having arguments to it. So I looked to the dev docs for some help.
https://devdocs.magento.com/guides/v2.2/frontend-dev-guide/layouts/xml-instructions.html
Dev docs were and weren't a help. Yes they say you can pass argument to the reference block but what it doesn't tell you is if that block is already set with an argument you can't add more.
What i did was the following:
<container name="description.section" htmlTag="div" htmlClass="description" after="product.info.extrahint">
<block class="Magento\Framework\View\Element\Text" name="title.description.section">
<arguments>
<argument translate="true" name="text" xsi:type="string">
<![CDATA[<h3>Description</h3>]]>
</argument>
</arguments>
</block>
</container>
Created a container with my block in it.
<move element="product.info.overview" destination="description.section" after="-"/>
Move the other block to that container.
Hope this helps.