One solution I found was to move LPopup into the parent file. This worked...but I have no clue why this worked and the aforementioned code doesn't.
Workaround:
Parent:
<LMarker
v-for="listing in listings"
:latlng="[listing.lat, listing.lon]"
>
<LPopup>
<ChildVue />
</LPopup>
</LMarker>
Child:
<template>
<p>Hello world!</p>
</template>