You may create an event to delete existing quote items when merging quotes. Somewhat like below.
etc/events.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="sales_quote_merge_before">
<observer name="remove_old_quote_items" instance="Vendor\Module\Observer\RemoveOldQuoteItems" />
</event>
</config>
Observer/RemoveOldQuoteItems.php
<?php
namespace Vendor\Module\Observer;
use Magento\Framework\Event\ObserverInterface;
class RemoveOldQuoteItems implements ObserverInterface
{
public function execute(\Magento\Framework\Event\Observer $observer)
{
if ($observer->getQuote()->getAllVisibleItems()) {
foreach ($observer->getQuote()->getAllVisibleItems() as $item) {
$observer->getQuote()->removeItem($item->getId())->save();
}
}
return $this;
}
}