You can definitely do what you're asking for in PowerFx, for example if you want to show a field called Value on the Salary table for the selected Employee in a control in your Canvas App:
LookUp(Salary, EmployeeID = ThisItem.EmployeeID).Value
Also if you want to format it into using £ with commas between the thousands and to 2 d.p. this example might be helpful:
Text(Value(First(Gallery1.AllItems).'Current Salary'), "[$-en-US] £#,###,##0.00")
I think that if you've built a non-standard relationship, some of the basic functionality built into Dataverse solutions might not work with it. I'm not sure why you need a polymorphism relationship?
I'm assuming Employee is the parent record which has the three tables you mentioned as its child records, hopefully that's right.
Model-Driven App-wise:
I think there might be other ways to achieve what you're wanting to do, depending on how much information you want to show and how.
Do you want to show certain fields from 1 of each of the child records Salary, Active ID Card and Labour Info? Or do you want to show information from multiple records?
In a Model-Driven App, you can look through the lookup field, but not back down to the child records usually, so depending on how many fields you want to show, I would have built for example, a field on the Employee called "Current Salary" or something like this, then use a classic workflow to update in real time, when a salary record is created or changed (on field of active) with conditions of:
Status = Active
Employee = (this Employee)
Active = 1
...to set the Current Salary field on Employee to the value of the Salary record. You could create 3 workflows in this way for each of the tables to populate the required fields on the Employee and show them in a view as you like.
You could do this in Power Automate also but it's probably more work and it only runs asynchronously.
If this isn't plausible because there are lots of fields, You could technically make a lookup field to each of the three tables, and populate that with a workflow whenever your event of create or change is triggered on each of those tables, which allows you to then build a view with the related records tables, and it will bring out the active child record's info as long as that lookup is populated.
Hope this helps! :)