While you do seem to have the general idea, there is some terminological confusion in what you've written. Frankly, this confusion is probably not your fault.
A proposition is a formula that can be assigned a truth value. That is, it is a piece of syntax (perhaps represented by an abstract syntax tree). You might have something like $P\land \neg Q$.
In the context of classical propositional logic, we interpret propositions into some two element set. We typically refer to them as "true" and "false" or use symbols like "T" and "F" or $0$ and $1$, but any two element set would do. It could be "cat" and "dog" for all it matters. I'll use $0$ and $1$. As part of the definition of this interpretation, we require the interpretation to interpret the logical connectives, like $\land$ and $\neg$, into particular functions. For example, $\neg$ is required to be interpreted into the function that sends $0$ to $1$ and $1$ to $0$. A function whose inputs and output come from two element sets are referred to as Boolean functions.
A gate corresponds to a Boolean function. Its inputs are conceptually elements of a given two element set. There is no a priori meaning to the elements of that set. In particular, they don't need to correspond to the truth values of some proposition. We often talk about the inputs of a gate being $0$/$1$ or "low"/"high" or "on"/"off". Simplifying a bit, a (combinational) circuit is then just a composition of Boolean functions. There's actually a bit of subtlety here as normal algebraic notation doesn't have a good way of representing sharing. Sharing corresponds to an output of a gate that is used as an input to multiple other gates. For the purpose of the functional behavior, you can simply duplicate the algebraic expressions in that case, though that could lead to very large expressions for relatively small circuits. If every output is used once, then this won't be an issue.
So gates don't "take inputs in propositions" nor "produce propositions". They take inputs in some given two element set and produce outputs in the same set. The soundness and completeness theorems of classical propositional logic link Boolean functions to formulas in classical propositional logic. This means we can leverage logical techniques to help understand and simplify Boolean functions. But this is a bridge between two separate worlds: syntax and semantics. Just because it's possible to interpret a formula as a Boolean function, doesn't make them the same thing.
In practice, there is more that goes on with gates and circuits as used in e.g. computer hardware. As I alluded to earlier, a single expression built from Boolean functions can potentially be realized by multiple distinct circuits depending on how the gates are wired together in the circuit. These distinctions are definitely not immaterial to circuit design. There are often gates that have multiple outputs as well as multiple inputs. While, again, this doesn't really matter for the functional description, it presents more ways an algebraic representation is inadequate. Things get really different when you allow feedback, i.e. outputs of later gates being inputs of earlier gates. When this is allowed, we talk about sequential circuits, and we can no longer represent the functional behavior of the circuit as a Boolean function. In this case, we need timing information about the gates beyond just their functional behavior. In this context, circuits correspond more to something like temporal logic.