これは「検証の実行後にCreated Byが更新されると信じられる」という点で正しいです。問題はSalesforceの実行順序だ。カスタム検証ルールの最初のラウンドは、レコードがデータベースに保存される前にトリガーされます。この時点では、Created By 値はまだ設定されていないため、検証することはできません。
Salesforce の実行順序のこの概要は非常に役立ちます。
https://www.saasguru.co/salesforce-order-of-execution/
これは Salesforce の公式ヘルプ記事です。上記の文書では、何らかの理由でステップ 17 が省略されています。
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers_order_of_execution.htm
ステップ 5 ではカスタム検証ルールがトリガーされ、ステップ 7 では作成者値が設定されます。