I prefer on-site employees to remote for two reasons:
1 - I find that on-site employees are a bit easier to manage. The bar to communication is lower when they're so accessible. Also, I'm working with legacy hardware and software, and there is so much to understand in order to get started on many projects, and it can be a lot easier to sit side saddle with a junior engineer to help them through the first steps.
2 - I don't have a lot of great confidence in my hiring practices and the owners of the company are a little more conservative. As such, I make the safer choice to hire candidates willing to work on-site instead -- I can see when they come in, I can task and re-task on a whim, and I have a much better sense of when they begin down rabbit holes.
I wanted to expound on "The bar to communication is lower when they're so accessible."
I think a lot of communication involves understanding the culture (and by this I mean 'the way someone views the world' and not a more the mainstream sort of 'they are asian' type of definition) of a person. The speed at which you are able to understand a person's culture (what technologies they like and don't like and why, what they're previous jobs were like, what type of family did they grow up in, what jokes do they like, etc, etc, etc) increases drastically when they are working on site, and it's usually small bits of downtime (lunch, coffee break, shooting the shit late night) when you learn a lot of this stuff. Not having this understanding comes with a communication cost, and it's not just for the managers, it's also for the engineers they work with (and it goes both ways, the telecommuter is going to have a tougher time understanding the culture of their coworkers/manger).
Which isn't to say this why my company doesn't allow telecommuting (on the contrary, we do), but I think this nuance is hard to put a tangible dollar amount on but is very real. Additionally this does happen eventually with remotes (I have two great ones that I really think I understand) and there are things you can do to facilitate it, but it is harder.
In instance 1, could you use a remote screen sharing app to sit side saddle with a new junior dev? (and then record the session to allow the dev to replay the session later, come up with follow-up questions)
In instance 2, how often do you check on the progress of a dev? Is it a longer period of time for a remote vs an on-site employee?