I have seen plenty of scenarios where private ASN's are used in a BGP setup and the same for public ASN's - my question is how (or rather is it possible) does BGP work across a network topology that employs both private and public ASN's?
ASNs are not like IP addresses, they are more like router hops. Each BGP speaker only needs to worry about the next hop. If the router knows how to get to the next AS, then it can, whether the ASN of the next router is public or private.
Private AS numbers are artificial. They are no different than a public AS number, and routers don't have an inherent knowledge that any number is public or private. A router only knows what AS numbers its eBGP neighbors connect with because that must be configured in the router. It is only the advertised prefixes which are dynamic.