I would recommend on site for a few reasons:
It's still the "norm" and chances are one day your will have to work on site (while remote is often optional), so you might want to start your career with the "standard" way and then make the switch when offered the opportunity.
For an entry level developer, on site is better for being mentored and helped when needed. Instant messaging and video conference have a lot of limitations in that regard, especially if you work "non-standard" hours.
Working remotely requires a lot of commitment and seriousness, more than working on site. When you work on site, you are at work, you are there for working, surrounded by people working. At home, you are just at home, your mindset will be different and it will be harder to keep focused. Since it's already hard to get into the "working mindset" when you are a beginner, mixing the two is not the greatest idea.
Working remotely means that most of the time you will have to solve problems alone and that requires experience, which you won't have at first. Even if you can ask for help online (Slack or wathever) to your colleagues, as I said in my point about mentoring, it's just not as efficient as a physical presence.
Also "experience" doesn't just mean "coding experience", experience with your job and your company is just as important. Since every company is different and has different ways of doing things, you'll need to get experienced with that also, and being remote will make that harder.
This answer is already too long so let me conclude by saying: working remotely is not a bad idea at all and it has a lot of perks, but I don't think starting remotely is a good idea, I believe on site is best for an entry level for all the reasons above. That being said, once you are experienced enough, switching to remote work can definitely be worth a try if that's what you want.
I think you have substantiate your answer, but a question then arises.
Why do companies open remote positions for entry-level developers?
I'm no company owner but my two guesses would be:
Also, the year is 2018, working remotely is fashionable and modern, giving this opportunity to your employees might also be a way to be more attractive than the competition.
Once again, these are just my 2 cents, I'm not an expert on the matter.
We've done the entry-level remote thing and would favor in person for this kind of role in the future for most of the reasons you've outlined.
However, we'd also do the remote thing again. We learned a lot about the pitfalls and would approach it with more awareness this time.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.