From OnFetchEntity/OnFetchEntityComplete you only have access to the IEntityFields. Looking closely I think a better place to you is the EntityCore.OnValidateEntityAfterLoad. You can override it in the CommonEntityBase:
public abstract partial class CommonEntityBase 
{
    protected override void OnValidateEntityAfterLoad()
    {
        base.OnValidateEntityAfterLoad(); 
        
        // raise your event
    }
}
... and yes, if you use LINQ2LLBL to materialize entities, that method will be called as well.