Assume that bits $A$ and $B$ each have .5 bits of entropy per bit.
Fair enough (and I'll assume that we're talking about Shannon entropy)
The two-bit result of the concatenation $A‖B$ has 1 bit of entropy total, and it retains the entropy density of .5 bits of entropy per bit.
Not so fast. The concatenation has between 0.5 and 1 bits of entropy.
The issue is that the bits may be correlated; if the bits are always exactly the same (or exactly the opposite), the concatenation will never have any more entropy than just one of the bits. If the bits are independent (that is, are uncorrelated), then the concatenation will have 1 bit total. If they are partially correlated, then the entropy will be somewhere between 0.5 and 1.
This is not a pedantic point; when computing the joint entropy of several events, one always needs to be aware of the possible correlations between these events.
How many bits of entropy would the single-bit result of the exclusive-OR of $A$ and $B$, namely $A \oplus B$, have per bit?
This is a somewhat more complicated situation; if we compute the probabilities involved with a source generating a single bit with 0.5 bits of entropy, well, that's the solution to $p \log_2(p) + (1-p) \log_2(1-p) = -0.5$, and those solutions are $p = 0.110028...$ or $p = 0.889972...$. When we translate that into the possible entropies of the xor, that has a low of 0 (if the bits are perfectly correlated) to a maximum of 0.760269... (which happens if neither bit are in their low probability state at the same time); if they are uncorrelated, the entropy is 0.713537...
These values were computed by taking the above $p$ values, deriving the corresponding probabilities of the xor, and plugging them into the Shannon entropy formula.
I'm guessing the formula is something like $\mathord{\mathrm{E}}(A⊕B)=1-(1 - \mathord{\mathrm{E}}(A))(1-\mathord{\mathrm{E}}(B))=.75$ bits of entropy per bit. Is this correct?
No, it's not correct (even if we assume independence), at least if $E$ is the entropy function and not the expectation. I'm not sure if there is a simple formula that gives you that; if $p$ is a solution to $p \log_2(p) + (1-p) \log_2(1-p) = -E(A)$, and $r$ is a solution to $r \log_2(r) + (1-r) \log_2(1-r) = -E(B)$, then the Shannon entropy formula applied to $A \oplus B$ would involve the term $\log_2( p \cdot r + (1-p) \cdot (1-r))$, and there's no immediately obvious way to simplify this term, or combine it with other terms.
Also, do I correctly interpret that you can only approach 1 bit of entropy per bit by XOR-ing bits of less dense entropies but never actually attain it?
Oddly enough, with the right amount of correlation, you can actually get 1 bit of entropy. Consider the case where both sources generate a 1 with probability $0.25$ (and so have $0.811278...$ bits of entropy). If they never both generate a 1 bit at the same time, then the probability that exactly one of then generate a 1 bit is $0.5$, and so the xor does yield an entropy of 1.
Of course, if the input bits are uncorrelated, then you are correct (unless one of the input bits already has an entropy of 1).