Before starting, there's one thing to note: by default, the Vantage series emits its own archive records, but they don't contain everything that was in the LOOP packets. For example, a Vantage archive record does not contain "consBatteryVoltage", which is only in the LOOP packets. To include them, the WeeWX engine augments the record off the hardware device with everything that it can get out of the accumulators (which compile LOOP packets). This is done by service StdArchive.
The services listed under "data_services" actually run quite early: right after "prep_services", well before StdArchive. So if you put your dummy service under data_services, it won't see what will be added by StdArchive. Hence, it's missing things like consBatteryVoltage.
But, I can't explain why the augmentation does not happen when you include dummyDataService, but does when you omit it. I tried replicating on my own system, and it acted as expected. Here's what it looks like with dummyDataService:
Oct 26 12:15:15 NUC-black weewxd[84442]: DEBUG user.dummyDataService: {'dateTime': 1729970100, 'usUnits': 1, 'interval': 5, 'rxCheckPercent': 99.9375, 'outTemp': 54.8, 'highOutTemp': 55.0, 'lowOutTemp': 54.6, 'rain': 0.0, 'rainRate': 0.0, 'barometer': 30.086, 'radiation': 200.0, 'wind_samples': 117.0, 'inTemp': 68.7, 'inHumidity': 49.0, 'outHumidity': 66.0, 'windSpeed': 1.0, 'windGust': 3.0, 'windGustDir': 180.0, 'windDir': 180.0, 'UV': 1.3, 'ET': 0.0, 'highRadiation': 234.0, 'highUV': 1.3, 'forecastRule': 44}
and the corresponding REC:
REC: 2024-10-26 12:15:00 PDT (1729970100) 'altimeter': '30.08152038664648', 'appTemp': '52.77093282004806', 'barometer': '30.086', 'cloudbase': '3231.4521080878726', 'consBatteryVoltage': '4.7', 'dateTime': '1729970100', 'dayET': '0.015', 'dayRain': '0.0', 'dewpoint': '43.66161072441336', 'ET': '0.0', 'extraAlarm1': '0.0', 'extraAlarm2': '0.0', 'extraAlarm3': '0.0', 'extraAlarm4': '0.0', 'extraAlarm5': '0.0', 'extraAlarm6': '0.0', 'extraAlarm7': '0.0', 'extraAlarm8': '0.0', 'forecastIcon': '6.0', 'forecastRule': '44', 'heatindex': '53.081999999999994', 'highOutTemp': '55.0', 'highRadiation': '234.0', 'highUV': '1.3', 'humidex': '54.8', 'inDewpoint': '48.75937484652667', 'inHumidity': '49.0', 'insideAlarm': '0.0', 'inTemp': '68.7', 'interval': '5', 'lowOutTemp': '54.6', 'maxSolarRad': '479.7192813786106', 'monthET': '1.77', 'monthRain': '0.71', 'outHumidity': '66.0', 'outsideAlarm1': '0.0', 'outsideAlarm2': '0.0', 'outTemp': '54.8', 'pressure': '29.326441515975546', 'radiation': '200.0', 'rain': '0.0', 'rainAlarm': '0.0', 'rainRate': '0.0', 'rxCheckPercent': '99.9375', 'soilLeafAlarm1': '0.0', 'soilLeafAlarm2': '0.0', 'soilLeafAlarm3': '0.0', 'soilLeafAlarm4': '0.0', 'stormRain': '0.0', 'sunrise': '1729953540.0', 'sunset': '1729990800.0', 'txBatteryStatus': '0', 'usUnits': '1', 'UV': '1.3', 'wind_samples': '117.0', 'windchill': '54.8', 'windDir': '180.0', 'windGust': '3.0', 'windGustDir': '180.0', 'windrun': '0.08333333333333333', 'windSpeed': '1.0', 'windSpeed10': '1.0', 'yearET': '35.94', 'yearRain': '0.71'
As you can see, it contains consBatteryVoltage.
There's something else going on, but I'm not sure what it is. Are you working with a freshly installed version of WeeWX with no modifications? What about the custom data service that you mentioned in your first post? Are you using the copy of weewx.conf that you think you're using?
-tk