Just wanted to follow up that I was able to solve my issue with css in regards to replaced elements. Added an extra div as a container around the video element. Works as expected in all 3 of the dashboard 2.0 layout configurations. Thanks.
The relevant css that helped me for the custom element:
:host {
display: flex;
flex-direction: column;
overflow: hidden;
}
#container {
position: relative;
width: 100%;
height: 100%;
}
#video {
position: absolute;
width: 100%;
height: 100%;
}
The positions relative and absolute seemed to be key for it to work properly.