Hello David
Yes, that is correct. This is a feature that is meaningful when there are some routes within our AS that are not running BGP. However, this approach is declining in use, and the best practice is to ensure that there is a full mesh of iBGP peerings between routers in an AS.
Yes. R4 refuses to install the BGP route unless there is an IGP route installed in the routing table for that prefix. This ensures that this route is known within the IGP domain, and thus any routers not running iBGP will be able to route it.
I hope this has been helpful!
Laz