Views exposed date filter using "Is between" doesn't include end date
I agree this implementation lacks some UX polishing.
The reason why that day is omitted in your case is because you're not including the time, so a time of 00:00:00 is assumed, which is the beginning of the day and most of that day's time will be excluded. The first day also assumes it, but because it's the beginning of the range it includes the whole day.
The solution is to use the time along with the date, and give clues to users to orientate them with using Placeholder example values and the Filter field Description:
Empty form:

After filling in:

You can come up with better UX Label and Description, I'm just demonstrating a good starting point.