“Have you got …?” “Yes I do.” It always grates when I hear a mismatched reply like this.
To my ear, the reply should be “Yes I have.” Substituting ‘have’ with ‘do’ is an avoidance of even implying the word ‘got’. It would be fine if the question were “Do you have …?” This is equally correct English. The reply “Yes I do [have]” is appropriate in this case.
Not long ago, the preference for ‘have’ instead of ‘have got’ was simply one of the many differences between British and US English. And I have no particular desire to preserve the word ‘got’. But this irritating crossed reply is spreading and becoming more commonplace in the UK.