Expected behaviour. Asterisk has no feedback path for the codecs actually supported by the B side. In fact there may be more than one B side, but there can only be one 200 OK, so it would be wrong for it to refuse video just because the first B side doesn’t support it…
If you know that no B side in the call can handle video,you may be able to est channel variables to turn off the video codecs before you do anything than can answer the call.