Dear Nic,
Thanks for your updates and screenshots.
I notice that you set multiple additional sub lookup columns in the list which is showed in the Power Automate connector and that will cause that Power Automate can't fetch the data from the main lookup column, so the data is null and can't be populated in the single-line text column.


If the additional lookup columns aren't a must in your environment, one simple way to fix the issue may be to uncheck the additional lookup columns and only leave the main lookup column and then do a test to see the result.
If the additional lookup columns are a must in your environment, you may use Rest API and some additional formula to get the values from the main lookup column.
Before creating the flow, I suggest you change the list name and the main lookup column name to a simple name such as ListAA2 and LookupColumn1 in my environment to get rid of some error when running the flow.
You can create the flow as follows.




To get the main lookup column LookupColumn1 value body, use the Get method with Rest API in the Send a HTTP request to SharePoint connector.
Uri: _api/web/lists/GetByTitle('ListAA2')/items(@{items('Apply_to_each')?['ID']})?$select=LookupColumn1/Column1&$expand=LookupColumn1/Column1
To get the results part from the body, use the Compose connector with the formula outputs('Send_an_HTTP_request_to_SharePoint_2')?['body']?['d']?['LookupColumn1'].
To get the LookupColumn1 value from Compose, use the send Compose connector with the formula outputs('Compose')?['results'][0]?['Column1'].
To populate the LookupColumn1 value in the single-line text column LookupColumn1Text, use the Post method with Rest API in the Send a HTTP request to SharePoint connector.
Uri: _api/web/lists/GetByTitle('ListAA2')/Items(@{items('Apply_to_each')?['ID']})
Headers:
{
"If-Match": "*",
"X-HTTP-Method": "MERGE",
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose"
}
Body:
{
"__metadata": {
"type": "SP.Data.ListAA2ListItem"
},
"LookupColumn1Text": "@{outputs('Compose_2')}"
}
Note: You may change the columnname and the list name in your environment.
Result:


For your reference: How to get a specific value from a JSON in Power Automate
SharePoint 2013/Office 365 : Retrieve lookup column value REST-Javascript.
***Disclaimer:***Microsoft provides no assurances and/or warranties, implied or otherwise, and is not responsible for the information you receive from the third-party linked sites or any support related to technology.
Thanks for your effort and time.
Cliff