Ebay does not estimate shipping. They calculate based on the information YOU put in. You put in weight, measurements & shipping options. Then buyers can get the shipping costs based on their zip codes or locations.
You cannot ask the buyer for more money, Ebay states that you cannot change the terms of the listing after the sale, which means you cannot ask for more money. The only time you can ask a buyer to wait for the invoice & pay more shipping is if the item is shipping international & you did not have the shipping set up in the listing
If you refuse to ship because of this, that is your option, but be prepared for the fall-out, which means the buyer can report the item not received (dispute against you). They can report you as a non-performing seller (black mark with Ebay status). They can leave you neg. FB & low DSR's (no help in future selling).
Many sellers make mistakes, but they deal with it & learn from it. It is extremely dangerous to guess at a weight, as you now know.