After hours of debugging, I was able to come up with a workaround for now. What appears to be happening is that if the graphic's location updates, it's popupTemplate is being set to null. So, the popupTemplate and content needs to be reset. My workaround was to put a watch on the title property of the popup and when it went blank, reset the popupTemplate. Code snippet below. This is the 4.6 version of the API.
popup.watch(["visible", "selectedFeature", "title"], function (newValue, oldValue, propertyName, target) {
if (propertyName !== null && propertyName !== undefined) {
if( propertyName.toLowerCase() === "title" ){
if( oldValue !== null && oldValue.length > 0 && newValue !== null && newValue.length === 0 ) {
this.selectedFeature.popupTemplate = mapElements.getPopupTemplate();
this.selectedFeature.popupTemplate.content = mapElements.setContentInfo;
}
}
}
});