Вы можете достичь того, что ищете, с небольшой помощью flexbox. Вместо использования верхней части изображения, добавьте div с изображением в качестве фона для покрытия. Смотрите пример ниже.
/****==== NEWS STORIES ====****/
#news-stories .card {
height: 400px /*Set this to whatever you want the fixed height to be */
}
#news-stories .card-title {
margin: 20px;
}
#news-stories .card-body {
background-color: #fff;
margin: 0;
padding: 0 !important;
}
#news-stories .imagebg {
background: url("https://picsum.photos/200/300");
background-repeat: no-repeat;
background-size: cover;
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<div class="container">
<section id="news-stories">
<div class="card-deck">
<div class="card">
<div class="card-body d-flex flex-column">
<div class="imagebg flex-fill"></div>
<h5 class="card-title flex-grow">This is a News Story Headline title showing the maximum height of 4 lines of text</h5>
</div>
<div class="card-footer">
<p><span>Published:</span> Nov 11, 2019</p>
</div>
</div>
<div class="card">
<div class="card-body d-flex flex-column">
<div class="imagebg flex-fill"></div>
<h5 class="card-title">This is three lines of Text that will display in the headline</h5>
</div>
<div class="card-footer">
<p><span>Published:</span> Nov 11, 2019</p>
</div>
</div>
<div class="card">
<div class="card-body d-flex flex-column">
<div class="imagebg flex-fill"></div>
<h5 class="card-title">This is two lines of Text that will display</h5>
</div>
<div class="card-footer">
<p><span>Published:</span> Nov 11, 2019</p>
</div>
</div>
<div class="card">
<div class="card-body d-flex flex-column">
<div class="imagebg flex-fill"></div>
<h5 class="card-title">This is one line</h5>
</div>
<div class="card-footer">
<p><span>Published:</span> Nov 11, 2019</p>
</div>
</div>
</div>
</section>
</div>