The Canadian census does not provide information on francophones, anglophones, or allophones. We know, for example, that a person's mother tongue is French, English or another language. Of course, we use this mother tongue criterion. As you say, we could also as easily use the language spoken at home criterion, as we could use the language spoken at work. However, since there are sometimes significant differences between linguistic behaviour in the home, at work, and in terms of mother tongue, it may become quite hazardous to say that a person is francophone because he uses French on a daily basis. That person may well use Arabic more often in the home.
That is simply to give you an idea. People whose mother tongue is Arabic use Arabic at home, whereas others whose mother tongue is the same use French more often at home. We are not attempting to sidestep this complex aspect, but we must use a term. Perhaps we could change the term over time. Debates are currently underway on how to define someone whose mother tongue is French. Is someone francophone, or should we say that the person is someone who learned French first in childhood and who still understands it? Perhaps we need to find a term? I do nevertheless recognize that immigrants and those that we call allophones often tell us that they are not allophones, but francophones.