ラベルの移動の移動した先の座標値は、プロジェクトファイルと同じ名前のqgdというファイルに保存されます。
3.4からはプロジェクトファイルはqgzがデフォルトですので、qgzを解凍すると、qgsとqgdがあるはずです。
質問のプライマリーキーですが、このqgdというデータベースファイルでどの地物の座標値かわかるように、ダブらない(ユニークな)IDが必ず必要です。
geopackageならば、「fid」がそれに当たりますので、fidを指定すればいいです。
シェープファイルなどの場合は、ユニークなIDをフィールド計算機などで作成する必要があります。
2つ目の質問の移動座標の保存場所ですが、レイヤのプロパティの「補助記憶装置」に移動座標を記録するフィールドが記録されています。
ここに「auxiliary_storage_labeling_positionx」や「auxiliary_storage_labeling_positiony」の元となるフィールドが登録されています。
なので、ここの「positionx」「positiony」を削除すると、ラベルは全て元の位置に戻ります。
キタ