How to add add more properties to WP_Post object in search results loop

The custom properties you refer to are dates which a stored in a custom table, and which are joined onto the query for events. At this point in time, when querying events, this table is only joined when only the ‘event’ post type is being queried.

That is, you can search for events – but the dates are only pulled in if you are searching only for events. The following snippet will ensure all front-end (“main”) searches are for events only – which may or not may not be the desired behaviour, but you can of course target specific queries or simply set the post type to ‘event’ when you create your WP_Query object.

add_action( 'pre_get_posts', 'wpse172161_set_search_post_type' );
function wpse172161_set_search_post_type( $query ){
     if( !is_admin() && $query->is_main_query() ){
           $query->set( 'post_type', 'event' );
     }
}