Is it possible to push an item to an array that already exists in $session?
Sure, basic example:
$session = $kirby->session();
$session->set(['products' => []]);// this is not necessary if we just want to get the session data
$products = $session->get('products');
$products[] = 'Chair';
$session->set(['products' => $products]);
Note that you can only append to an array if the session value is an array and not null, so you need to take care of this.