@Joel Pangilinan Thank you for posting the question. Based on the requirement in question the following query should help you
PolicyResources
| where kind != 'policyassignments' //the Policy/Initiative assigned
| extend definitionType = iff(kind == 'policysetdefinitions', 'Initiative','Policy')
| extend custom_Or_Builtin = iff(properties.policyType == 'Custom', 'Custom', 'BuiltIn')
| project name = properties.displayName , definitionType, id, custom_Or_Builtin, createdDate = iff(custom_Or_Builtin == 'Custom', properties.metadata.createdOn, properties.metadata.lastSyncedToArgOn)
//Policy or Initiative has created data only for 'Custom' Policy. For 'BuiltIn', has lastSyncedToArgOn property denoting when was thepolicy synced to subscription
| join kind=leftouter (PolicyResources | where kind == 'policyassignments' | project id= tostring(properties.policyDefinitionId), assignedBy = properties.metadata.assignedBy, assignedScope = properties.scope)
on id
| project-away id1
Hope this helps. Please let me know if you have any questions.