1回の呼び出しで複数のステートメントを実行しないでください。ネイティブの準備を使用すると機能せず、正しく理解するのが困難です。
それを複数のステートメントに分割し、PDOの関数を使用して最後に挿入されたIDを取得します。
$connection->beginTransaction();
$tr = $connection->prepare("INSERT INTO data(name, address, dated) VALUES('Umesh', 'Kathmandu', NOW())");
$tr->execute();
$DataID = $connection->lastInsertId();
$tr = $connection->prepare("INSERT INTO activity(data_id, activity, dated) VALUES(:DataID, 'Test Implemented', NOW() )");
$tr->execute(['DataID' => $DataID]);
$ActID = $connection->lastInsertId();
$connection->commit();
print_r($DataID, $ActID);