Hello,
You have to override  load_server_data() in point_of_sale\static\src\js*model.js*  around line  176 :
            return self.fetch(
                'product.product', 
                ['name', 'list_price','price','pos_categ_id', 'taxes_id', 'ean13', 'default_code',
                 'to_weight', 'uom_id', 'uos_id', 'uos_coeff', 'mes_type', 'description_sale', 'description'],
                [['sale_ok','=',true],['available_in_pos','=',true]],
                {pricelist: self.get('shop').pricelist_id[0]} // context for price
            );
Current filter is  [['sale_ok','=',true],['available_in_pos','=',true]],
So You can add :
 [['sale_ok','=',true],['available_in_pos','=',true], ['qty_available' , '>', 0]],
I hope this helps.
Regards