Hi @John JY ,
We need to start from SQL server error log and windows cluster log to analysis why SQL AG failover. The log will tell you that SQL or windows cause this issue.
Generate and analyze the CLUSTER.LOG for an Always On availability group
Use the cluster /log /g command at the command prompt. This command generates the cluster logs to the \windows\cluster\reports directory on each WSFC node. or use the Get-ClusterLog PowerShell cmdlet. Refer to MS document Generate and analyze the CLUSTER.LOG for an Always On availability group.
If the response is helpful, please click "Accept Answer" and upvote it, as this could help other community members looking for similar thread.