Is this an optimal way of doing this or is there a better way to accomplish this (with similar or greater advantages)/Would it be better to use a Custom Metadata Type for this scenario?
I would use custom metadata types for the following reason.
We can use SOQL, and each profile ID can be a record of custom metadata. SOQL on custom metadata are not counted ...
You have to create ja Text Variable called "Id" that is availavle for Input.
Step two is, get the data that you want
The Varibale "Id" is the ID from the scoped Object in the Field Service Mobile Settings.
PS: FSL will work offline to, the App priming all records form the Service Appointment in this Case.