Сие is an adjectival pronoun in the full singular nominative first person neuter, се (not *сё**сё) is a nominative pronoun (originally, the short form of the same). Both are dated and in the modern language they have been replaced with это.
Сие дерево — дуб means "this tree is an oak", се — дуб means "this is an oak". In the first case, the word "this" modifies "tree" like an adjective would; in the second case it's a subject in its own right.
Nominative deictic and demonstrative pronouns are invariant, they don't change by gender or number: се дуб, это кошка, то ножницы, вон мама.
English doesn't convey the difference between adjectival and nominative deictic pronouns on the syntactic level, but many other languages do.
Note that you can also use the full form сие in the nominative sense, as your examples show, but, technically, not the other way around.
But I get the impression that сё is only used as a rhyming pair with то in the above idioms, and that for other normal uses the pronoun would be сие. Is this correct?
In this rendition, with ё, it is. Normally, то да се would be expected, but it doesn't rhyme.
Or is it possible that сие and сё were both valid and were a contrasting pair with the same usages as это and то? Was сё ever used on its own, rather than just in a couple of fixed expressions involving то?
In Proto-Slavic, there was a trichotomy of this (next to me) / that (next to you) / that over there (far away for both of us). The Russian reflexes of the Proto-Slavic words for these concepts are се / то / оно.
Оно has been relegated to the role of a personal pronoun (replacing the reflexes of *jь which still form the stems of oblique cases of personal pronouns in the third person singular), and is not actively used in the demonstrative sense anymore except in set phrases время о́но etc.
Это/этот is a relatively new (c. XVI century) replacement for се/сей. For quite a long time they coexisted in neutral speech.