Query for blocks across Block Types using the new field parameter?
Unfortunately this is a limitation of that feature. In this case, both of your Lightswitch fields will be tweaking the DB query with their own WHERE [field_column_name] = 1, without knowledge of each other.

To avoid this, just give each of your Lightswitch fields their own unique handles.

If you want to get all the blocks where either one of your Lightswitch fields are checked, you could do this:

{% set blockIds = entry.matrixField.type('type1').typeOneLightswitchField(1).ids()
    |merge(entry.matrixField.type('type2').typeTwoLightswitchField(1).ids())
%}

{% for block in entry.matrixField.id(blockIds) %}
    ...
{% endfor %}


Not exactly a clean solution, but it’ll get the job done.