How to fix template "no default was specified"

I tried sprinkling |default(0) everywhere I could think to, but I’m still getting the error 'round' got invalid input 'unknown'
See long entry below.
Any tips for fixing my template?

'round' got invalid input 'unknown' when rendering template '{% macro aqi(val, val_l, val_h, aqi_l, aqi_h) -%}
  {{(((aqi_h-aqi_l)/(val_h - val_l) * (val - val_l)) + aqi_l)|default(0)|round(0)}}
{%- endmacro %} {% set v = states('sensor.average_kitchen_pm2_5')|default(0)|round(1) %} {% if v <= 12.0 %}
    {{aqi(v, 0, 12.0, 0, 50)}}
{% elif 12.0 < v <= 35.4 %}
    {{aqi(v, 12.1, 35.4, 51, 100)}}
{% elif 35.4 < v <= 55.4 %}
    {{aqi(v, 35.5, 55.4, 101, 150)}}
{% elif 55.4 < v <= 150.5 %}
    {{aqi(v, 55.5, 150.4, 151, 200)}}
{% elif 150.4 < v <= 250.4 %}
    {{aqi(v, 150.4, 250.4, 201, 300)}}
{% elif 250.5 < v <= 500.4 %}
    {{aqi(v, 250.5, 500.4, 301, 500)}}
{% else %}
    0
{% endif %}' but no default was specified. Currently 'round' will return 'unknown', however this template will fail to render in Home Assistant core 2022.1

Thanks for any help!

...val_l)) + aqi_l)|round(0,,0)}}

See: https://www.home-assistant.io/docs/configuration/templating/#numeric-functions-and-filters

Screenshot 2023-01-22 at 08-52-25 Templating