The issue might be with the session. Try saving the session before saving the InventoryChange model. Also, make sure that the InventoryChange model is imported at the top of the observer file. Here's the updated code:
use App\Models\InventoryChange;
public function updated(Item $item): void
{
if($item->ItemQuantity <> $item->getOriginal('ItemQuantity')){
session(['InventoryChangeNote' => '']);
$InventoryChange = new InventoryChange;
$InventoryChange->ItemID = $item->ItemID;
$InventoryChange->InventoryChangeNote = session('InventoryChangeNote');
$InventoryChange->Quantity = $item->ItemQuantity - $item->getOriginal('ItemQuantity');
$InventoryChange->save();
dd('Item Quantity New: ' . $item->ItemQuantity . ' : ' . 'Item Quantity Old: ' . $item->getOriginal('ItemQuantity') . ' : ' . 'Session: ' . session('InventoryChangeNote') . ' : ItemID: ' . $item->ItemID . " : Change Amount: " . $item->ItemQuantity - $item->getOriginal('ItemQuantity'));
}
}