You can remove the 'Grid.Column' property from the Image and Labels, as it is not needed. Rather use 'HorizontalStackLayout' for the image and labels inside your 'ViewCell' to display your images with their original sizes. See the properties for 'HorizontalStackLayout' at
HorizontalStackLayout[
^]. Your XAML code will be -
<DataTemplate>
<ViewCell>
<HorizontalStackLayout Padding="10">
<Image Source="{Binding ImageUrl}"
SemanticProperties.Description="{Binding ImageUrl}" />
<StackLayout>
<Label Text="{Binding FirstName}"
SemanticProperties.Description="{Binding FirstName}" />
<Label Text="{Binding LastName}"
SemanticProperties.Description="{Binding LastName}"
Padding="10,0" />
</StackLayout>
</HorizontalStackLayout>
</ViewCell>
</DataTemplate>
By using the 'Aspect' and the 'VerticalOptions', your image height will be loaded as is -
<DataTemplate>
<ViewCell>
<HorizontalStackLayout Padding="10">
<Image Source="{Binding ImageUrl}"
SemanticProperties.Description="{Binding ImageUrl}"
Aspect="AspectFit"
VerticalOptions="Start" />
<StackLayout>
<Label Text="{Binding FirstName}"
SemanticProperties.Description="{Binding FirstName}" />
<Label Text="{Binding LastName}"
SemanticProperties.Description="{Binding LastName}"
Padding="10,0" />
</StackLayout>
</HorizontalStackLayout>
</ViewCell>
</DataTemplate>