More on this - turns out that Extension fields need to be enclosed in an <Extension> element, like so:

<Allergy>
    <Extension>
        <Mode>SNAPSHOT</Mode>
        <OnsetDate>20170412113619</OnsetDate>
        <AllergyType>ALLERGY</AllergyType>
        <AllergyStatus>ACTIVE</AllergyStatus>
        <Asserter>10262187</Asserter>
    </Extension>
    <AllergyCategory>
        <Code>DA</Code>
    </AllergyCategory>
    <Allergy>
        <SDACodingStandard>DRUG</SDACodingStandard>
        <Code>d00116</Code>
        <Description>penicillin</Description>
    </Allergy>
    <Severity>
        <Code>SEVERE</Code>
    </Severity>
    <DiscoveryTime>2017-04-12T00:00:00Z</DiscoveryTime>
    <FromTime>2017-04-12T00:00:00Z</FromTime>
    <Status>A</Status>
    <EnteredAt>
        <Code>UHC</Code>
    </EnteredAt>
</Allergy>