Я тестировал в одной из моих инсталляций с в web.php
use Illuminate\Http\Request;
Route::get('test', function(){
return view('test');
});
Route::post('test', function(Request $request){
dd($request->hasFile('test'));
})->name('test');
в test.blade.php
<form action="{{ route('test') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="form-group py-50">
<input type="file" name="test" id="featured_img">
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Upload Image" name="submit">
</div>
</form>
$request->hasFile('test')
возвращает true, проверьте с этим кодомв вашем контроллере или файле маршрута и сообщите мне, если у вас возникли проблемы.
Также
Вы должны использовать @stack, чтобы добавить скрипт в свой блейд, а не @ section
Обновление
В соответствии с вашим обновленным кодом страницы просмотра, у вас есть две формы в вашем представлении, отправляющих по одному и тому же маршруту, что первая форма не закрыта, а втораяоткрыт.