No it isn't always a string. And by the way, that's the first time I see a tag without quotes !
When you make a compoment with an input like this
<app-my-component firstVariable="hello world"></app-my-component>
Then it's a string. You can't even give a variable in this case, the input will have the variable's name as value.
But if you do
<app-my-component [firstVariable]="hello world"></app-my-component>
Then it won't work. Because here, you're supposed to give a variable. To make it work, use this
<app-my-component [firstVariable]="'Hello world'"></app-my-component>
Now, you're giving something like an "anonymous variable" : you use quotes, so Angular understands it's a string.
In your case, you use a radio button. Radio buttons are part of radio button groups, and each of them have string values. So even if you write true, that doesn't mean it's a boolean ! If you want to give it a boolean, you will have to use
I hope I helped !