You need to use tooling API for this and you can follow the below two queries:
SELECT Id, Name, TableEnumOrId FROM WorkflowRule
SELECT Id, ValidationName, Active, EntityDefinition.DeveloperName FROM ValidationRule WHERE Active = true
For more details on Tooling API, please check the Salesforce Documentation for Tooling API
I used a custom lookup field instead (lookup to user) in a flow lookup component to make it work. Original ownerId field never worked so this was the best solution at the time. And when you do create record just populate the OwnerId with chosen value on the screen.
Use a Change Data Capture Event Trigger instead. This will give you the cumulative updates that occurred without worrying about multiple calls or recursion. The proper solution as a direct trigger would be to instead store all cumulative updates into an object and call asynchronous code to perform the update later.