This looks like a bug in Elementor. It may be worth reporting it to them.
They have this CSS currently:
.woocommerce .elementor-element.elementor-wc-products ul.products li.product,
.woocommerce div.product .elementor-element .related.products ul.products li.product {
width: auto;
}
It’s missing a selector for upsells.
It should be this:
.woocommerce .elementor-element.elementor-wc-products ul.products li.product,
.woocommerce div.product .elementor-element .related.products ul.products li.product,
.woocommerce div.product .elementor-element .upsells ul.products li.product {
width: auto;
}
For now, you can add this CSS to fix it:
.woocommerce div.product .elementor-element .upsells ul.products li.product {
width: auto;
}