How to get GPIO switch (output) to be more responsive?

Struggling like hell to get my doorbell working reliable. In principle it works by means of a GPIO input to sense the doorbell switch and a GPIO out to run the bell via a relay. Why? This enables easy switchoff in time and prevents people to ring 3 4 5 times quickly after each other (yeah that happens :-S).

I have defined my GPIO as follows:

binary_sensor:   
  - platform: rpi_gpio
    pull_mode: 'UP'
# bouncetime: 5 <-tested - no influence
    invert_logic: true
    ports:
      8: Deurbel

switch:
  - platform: rpi_gpio
    ports:
      11: Deurbel

And the subsequent automation:

- id: '1612559173643'
  alias: '[deurbel] deurbel ringdingdong'
  description: ''
  trigger:
  - platform: state
    entity_id: binary_sensor.deurbel
    from: 'off'
    to: 'on'
  condition:
  - condition: or
    conditions:
    - condition: time
      after: '10:30:00'
      weekday:
      - sun
    - condition: time
      weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
      after: 00:00:00
      before: '23:59:59'
  action:
  - service: switch.turn_on
    data: {}
    entity_id: switch.deurbel
  - delay:
      hours: 0
      minutes: 0
      seconds: 0
      milliseconds: 300
  - service: switch.turn_off
    data: {}
    entity_id: switch.deurbel
  - delay:
      hours: 0
      minutes: 0
      seconds: 30
      milliseconds: 0
  mode: single

This bell press also triggers some other automation (notifications and light flash). That works reliable so it looks like the switch IO output to the doorbell is not working responsive. This was checked with an oscilloscope, making sure the relay is working reliable. It is truly the GPIO port that doesn’t switch sometimes.

Any suggestion would be welcome…

That’s surprising as it is usually the inputs that are the issue. This still has not been fixed after many years:

Is your relay capable of being driven by 3.3V?