It is required to tick the "Email Copy of Shipment" option in order to send the shipment email. It is default magento behaviour. I've noticed this same behavior on Magento 2.4.1 also.
But this is not the case with invoice emails, it should work as expected. Check whether it is enabled or not under
Stores -> Configuration -> Sales -> Sales Emails -> Invoice -> Enabled
.
In order to by default check the "Email Copy of Shipment" option on shipment creation page, use below code in your custom module.
Override default template with your custom template in
app/code/Vendor/Module/view/adminhtml/layout/adminhtml_order_shipment_new.xml
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="order_items">
<action method="setTemplate">
<argument name="template" xsi:type="string">Vendor_Module::create/items.phtml</argument>
</action>
</referenceBlock>
</body>
</page>
You need to replace piece of code in default template with below code. I've added checked="checked"
app/code/Vendor/Module/view/adminhtml/templates/create/items.phtml
<?php if ($block->canSendShipmentEmail()): ?>
<div class="field choice admin__field admin__field-option field-email">
<input id="send_email"
class="admin__control-checkbox"
name="shipment[send_email]"
value="1"
type="checkbox"
checked="checked"/>
<label class="admin__field-label"
for="send_email">
<span><?= $block->escapeHtml(__('Email Copy of Shipment')) ?></span></label>
</div>
I hope it helps you. Thanks!