You can solve this issue by setting the BackgroundColor of your AppShell to Transparent. After that, SafeAreaEdges="None" on your pages works correctly, and your content can extend into the safe area.
Example:
<Shell
x:Class="YourApp.AppShell"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
Shell.FlyoutBehavior="Disabled"
Shell.BackgroundColor="Transparent">
<TabBar>
<!-- Your ShellContent -->
</TabBar>
</Shell>