The template you provided still doesn't work in my project. But I found the solution, adding the source while binding does the trick.
I think it might be the reason of CommunityToolkit.Mvvm.
xaml:
<sflistview:SfListView.EmptyViewTemplate>
<DataTemplate>
<VerticalStackLayout
HorizontalOptions="CenterAndExpand"
Spacing="16"
VerticalOptions="CenterAndExpand">
<Image
HeightRequest="48"
Source="empty_dashboard.png"
WidthRequest="48" />
<Label Text="{Binding EmptyView, Source={x:Reference listView}}" />
</VerticalStackLayout>
</DataTemplate>
</sflistview:SfListView.EmptyViewTemplate>